多校NOIP32
T1:
简单的贪心题,将美味度转化为距离于是手玩几组
就可以发现左右横跳时收益最大,直接模拟即可,注意
水的作用为可以随时回到水的位置,于是需要取max
T2:
考场理解错题意以为是推理题
考虑问题本质上是选出一个加法封闭的子群是的前
k-1个数不被包含第k个数被包含,考虑从第k个数出发
形成的数列具有规律性,发现其为(a[k],n)的倍数,于是
可以猜想若a[k]在群中则(a[k],n)一定在群中,证明直接
同余转化即可,利用互质进行判断
考虑1e14的约数有2e4个,直接与k个数比较显然会
TLE然而发现问题可以转化为选择一个GCD是的其被(a[k],n)
整除而不被(a[i],n)(i < k)整除,于是开桶扫苗所有约数即可
注意分块开桶的应用
T3:
考场的想法为树形DP,由于路径起始点不同因此可
以考虑换根DP,于是记录最优项,次优项,然而转移很
复杂考场上并没有调出
正解为树形DP,考虑问题本质上是从书上选择一条
路径使得放磁铁的收益最大,于是考虑设f[i][j]表示从i节
点走向其子树放j个磁铁的方案,g[i][j]表示从子树走到i
节点放j个磁铁的方案,于是直接考虑当前点是否选择进
行转移即可,考虑答案,当当前点为路径上一点时也就
是从子树中选择一组f,g进行配对,直接子树合并即可
状态方程的设计实际上可以理解为以当前点为路径
上深度最小的点的方案
T4:
很妙的一道题,考虑如果只有前缀和限制,那么直
接将c设置为1,将t设置为-1,那么只需要将前缀和序列
中每个负数第一次出现的位置将其删除即可,正确性显
然,那么由于有后缀和的限制,也就是还要在后缀和中
进行相同的考虑进行删除,然而此时后缀和已经发生改
变,考虑如何表示当前后缀和,有suf(p)' = suf(p) - min(pre)
+min(pre(q)(q < p)),那么考虑还需要删除的极为最小
后缀,考虑直接带入可以得到min(suf(p) + min(pre(q)))
考虑这个式子的意义,实际上当此种情况出现时区间和
减去该情况极为最大子段和,线段树的套路维护
注意这种可以用公式表达的题一定要用公式写出来
可能有其他发现