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的大概位数就能做,没想到可以用通项公式确定位数。