【2025.8.20】模拟赛
T1
Trick:看到答案值域比较小的就可以考虑直接枚举答案。
设当前枚举到的答案为 \(i\),找到 \(i\) 的所有倍数,看最远的一对倍数是否距离 \(\ge k\) 就可以了。
T2
转化为每次删一个字符,有多少种不同的过程序列。
每次删除一个极长连通段的一个字符,这样删就能让删除序列和过程序列一一对应。
用区间 \(dp\) 计算,枚举该区间最后一个被删除的位置,这样两边就独立了,就可以分别计算贡献(Trick),统计该区间贡献还要乘上一个组合数。
T3
用总的距离减去额外边产生的贡献。
\(dp\)。
T4
树链剖分。
Trick:每个节点记录它能到轻子树中的多少点 \(f_i\),这样就能转化为链上求和。

浙公网安备 33010602011771号