ucup外国场/外国题目

The 2nd Universal Cup Semifinals

A

不懂,感觉有点道理但是不多。

C

先想想在已知一个前缀的情况下什么时候会硬抗伤害,什么时候会付出代价闪避。一定是剩下的元素的均值大于 \(m\)。那么 \(dp_{i,j,k,0/1}\) 表示前缀 \(i\)\(j\) 个和为 \(k\) ,选/没选代表元的贡献。

G

如果已经知道了前 \(i-1\) 个元素,那么第 \(i\) 个元素可以用 \(2\log\) 次询问确定,二分最近的一个等于第 \(i\) 个元素的位置即可。然后考虑怎么优化,发现我们已经知道了前 \(i-1\) 个元素。那么用后缀自动机暴力求每个区间的不同子串个数即可。

K

结论是 \(k\) 轮等价于 \(1\) 轮。因为答案不会大于 \(1\) 轮的情况,后手可以模仿先手;也不会小于 \(1\) 轮的情况,先手可以模仿后手的上一轮。

The 3rd Universal Cup. Stage 7: Warsaw

BDGJLM场切了。

A

场上想到是dp套dp,但是设计不出来一个能套的内层dp。题解给出了一个比较好的设计:\(dp_{i,j}\) 表示覆盖前 \(i\) 个,花了 \(j\)元,最多还能覆盖多少。发现如果覆盖前i个的最小代价是x,那么只有 \(dp_{i,x},dp_{i,x+1},dp_{i,x+2}\) 有用。注意一个细节,两个相距20分钟的检查者不能被一张20min的票覆盖。

E

这个题其实长得很像平面图最小割,那么考虑最小割,发现不存在路径当且仅当有一条从左下边界到右上边界的居民路径,使得路径上任意两个居民曼哈顿距离不超过2。对这样的居民对连边跑最小割即可。

F

场上想到只要能确定fib的大概位数就能做,没想到可以用通项公式确定位数。

posted @ 2024-09-12 15:31  永无岛  阅读(30)  评论(0编辑  收藏  举报