2026.7 剪切线
P11598 Safety
Slope Trick。和 NarrowRectangles 这个题一样。
CF2229E Deconstruction Tree
首先生成 \(S\) 的过程中集合元素单调不降,且结尾一定为 \(n\)。
不妨让 \(n\) 为根。设 \(dp_i\) 表示以 \(i\) 结尾的 \(S\) 的数量,考虑何时可以贡献即得到一个可以用前缀和优化的转移。答案为 \(dp_n\)。
对于根节点 \(n\) 的转移特殊写。除 \(n\) 以外最大的元素一定在 \(n-1\) 在的那个子树里,且能删除除这个子树以外的所有元素,据此转移即可。
CF2236F2 Elections in Saransk
对每个素数 \(p\) 分别考虑,计数条件即 \(\sum_{i=1}^n v_p(p_i)=v_p(x)+max_{i=1}^n v_p(p_i)\)。
枚举指数最大值和取到最大值的位置,做前后缀背包合并即可。去重钦定一侧必须小于当前枚举的最大值,且对于 \(v_p(x)=0\) 的 \(p\) 存在所有 \(p_i\) 的指数都为 \(0\) 的一种情况,要额外加上。
CF1778D Flexible String Revisit
设 \(dp_i\) 表示从 \(i\) 个不同位置到 \(i-1\) 个不同位置的期望步数,简单变形得到 \(dp_i=\frac{n-i}{i}dp_{i+1}+\frac{n}{i}\),边界 \(dp_n=1\),答案即 \(\sum_{i=1}^n dp_i\)。
P1654 OSU!
记变量 \(l_i\) 表示以 \(i\) 为结尾的极长 \(1\) 段长度,递推维护 \(E[l_i],E[l_i^2],E[l_i^3]\) 即可,答案为 \(\sum_{i=1}^n E[l_i^3]\times (1-p_{i+1})\)。
CF24D Broken robot
写出方程组后高斯消元。直接消复杂度爆了,观察系数直接从上往下消一遍就可以变成上三角矩阵,接下来回代即可做到单次 \(O(m)\),总复杂度 \(O(nm)\)。
P4457 治疗之雨
全概率公式把期望翻译出来,和上一题本质相同,可以先从上往下消一遍变得只有主对角线和主对角线上方的一条线非 \(0\),然后回代即可。
细节特别多,调了好久。
P7509 撕裂抹消
\(k\) 很小,直接 dp。注意正常 dp 状态中期望是局部的,所以还需要记录一个到达局部的概率辅助转移。
P4284 概率充电器
即求每个点被充电的概率。把方程写出来后贡献拆成自己本身,子树内和子树外 dp 即可。注意处理子树外做退背包的时候除 \(0\) 的问题。
CF1139D Step to One
设 \(f_i\) 表示目前所有数的 \(\gcd\) 为 \(i\),则有 \(f_i=1+\frac{1}{m}\sum_{j=1}^{m} f_{(i,j)}\)。枚举因数并整理,改写为:
其中,\(G_{i,j}=\sum_{k=1}^m [(i,k)=j]=\sum_{k=1}^{\left\lfloor\frac{m}{j}\right\rfloor}[(\frac{i}{j},k)=1]=\sum_{k=1}^{\left\lfloor\frac{m}{j}\right\rfloor}\sum_{d|(\frac{i}{j},k)}\mu(d)=\sum_{d|\frac{i}{j}}\mu(d)\left\lfloor\frac{m}{jd}\right\rfloor\)
貌似精细分析一下复杂度是 \(O(m\sqrt{m})\) 左右的。可以通过。
CF1264C Beautiful Mirrors with queries
先考虑只有 \(1\) 是检查点的情况(2E),设 \(f_i\) 表示从 \(1\rightarrow i\) 全部通过的期望步数,变形可得 \(f_{i+1}=\frac{f_i+1}{p_{i+1}}\),即答案为 \(\frac{1}{p_n}+\frac{1}{p_{n-1}p_n}+\cdots\frac{1}{p_1p_2\cdots p_n}\),检查点相当于分割子问题,套个 set 维护就好。

浙公网安备 33010602011771号