跳转至

2021-2022 BUAA XCPC Team Supplementary Training 02

排名 当场过题数 至今过题数 总题数
3/20 11 12 12

D

solved by JJLeo 2sozx

题意

ACM比赛,随机开题,你是 tourist 你全会做,你比 tourist 还🐂🍺还知道每道题要写多长时间,你更厉害的是你一下子能秒看随机的 \(k\) 道题,然后做一道最水的,在随机把一道题去看,继续做这 \(k\) 道题最水的,然后一直做,问你所有情况下罚时总和是多少。 \(k\le n\le300\)

题解

考虑第 \(i\) 道题在前 \(j\) 个被解决的方案数,显然 \(i\) 的位置在前 \(min(n, j + k - 1)\) 并且比 \(i\) 题水的个数小于 \(j\) ,因此 \(n^3\) 枚举转移即可,恰好在第 \(j\) 个被解决的方案数即可直接差分,总复杂度即为 \(O(n^3)\)

E

upsolved by Bazoka13 2sozx

题意

平面 \(n\) 个点,有 \(k\) 个特殊点,选择一个非特殊点的点使得 \(k\) 个特殊点于这个点构成的凸包面积最大。 \(n\le 10^5\)

题解

先求两个凸包,显然选择的点一定在大凸包上,考虑枚举点,与特殊点构成的凸包可以通过双指针来计算被覆盖的面积,其余点构成的面积可以通过前缀和面积计算,复杂度是 \(O(n\log{n})\)

L

solved by 2sozx

题意

给你一堆点,规定你每次移动的旋转方向为左还是右,找一条不相交的路径经过所有点。\(n\le50\)

题解

只能说是个非常经典的问题了。

从凸包上走每次走最左最右的点就可以了。

记录

0~1h:疯狂签到

2h:MJX开写L,用了个nt写法,磨磨唧唧的

3h:MJX过了L,CSK开始冲E,ZYF看D也很水交换冲

4h:CSK开始调E,MJX左右横跳,看看E,看看D,听ZYF讲了好几遍算法,听的懵逼,看着最后好像有个结论有点问题,改了就过了。MJX开始魔改CSK代码,没改明白,CSK开调最后调TLE了

总结

传参一定要注意是否是引用

Dirt

H(+1):交接没开ll

F(+1):ZYF多加了个1

回到页面顶部