Difference between revisions of "2015-2016 Petrozavodsk Winter Training Camp, SPb SU + SPb AU Contest"

From EOJ Wiki
Jump to navigation Jump to search
Line 16: Line 16:
  
 
Solved by kblack. (+2)
 
Solved by kblack. (+2)
 +
 +
题意:一堆物品,对于先手的价值是 $a_i$,对于后手的价值是 $b_i$,先手贪心,求后手最大保证获益。
 +
 +
题解:我们先将物品按 $(b_i, a_i)$ 排序,问题转化为前 $i$ 个物品中我们最多抢到 $\lfloor \frac{i}{2} \rfloor$ 个物品。我们贪心的选取物品,对于大于 $1$ 的奇数位的物品,如果他比我们之前选的某个物品价值更大,我们就可以放弃之前的物品选他,对于偶数位置的物品,由于正好多一个可以选的物品,直接选择,对于已经选择的物品维护一个 multiset 即可。
  
 
== Problem F ==
 
== Problem F ==

Revision as of 11:45, 6 October 2018

Problem B

Upsolved by kblack. (-2)

题意:给出平面上 $N$ 个点,他们相互连接的 $\binom{N}{2}$ 条线段与 $x$ 轴夹角的中位数。

题解:我们需要知道中位的一个或两个线段的夹角,考虑二分答案,问题转化为求夹角小于 $\theta$ 的线段的数量。如图,我们从右往左枚举点,并计算处于某个点 $A$ 区域的点数,计算方式是用 $l_1$ 右侧(枚举顺序)和 $l_2$ 下侧(排序)夹出 $B+C$,同理用 $l_1$ 右侧和 $l_3$ (顺时针旋转 $\theta$ 后排序)下侧夹出 $A+B+C$,树状数组维护一下,减一下就得到了 $A$ 区域的点数。这个方法只作用 $0 \leq \theta \leq \frac{\pi}{2}$,如果线段数不够,我们可以直接将整个平面顺时针旋转 $\frac{\pi}{2}$,特别注意与坐标轴平行的线段的计算。

20181006 0001.png

Problem C

Unsolved. (-2)

Problem D

Solved by kblack. (+2)

题意:一堆物品,对于先手的价值是 $a_i$,对于后手的价值是 $b_i$,先手贪心,求后手最大保证获益。

题解:我们先将物品按 $(b_i, a_i)$ 排序,问题转化为前 $i$ 个物品中我们最多抢到 $\lfloor \frac{i}{2} \rfloor$ 个物品。我们贪心的选取物品,对于大于 $1$ 的奇数位的物品,如果他比我们之前选的某个物品价值更大,我们就可以放弃之前的物品选他,对于偶数位置的物品,由于正好多一个可以选的物品,直接选择,对于已经选择的物品维护一个 multiset 即可。

Problem F

Solved by ultmaster. 01:10 (+2)

Problem I

Unsolved. (-3)

Problem J

Solved by ultmaster. 03:13 (+)

Problem K

Solved by zerol. 01:39 (+)