CSP-S2025 sol

· · 个人记录

T1

每个贪一次最大值。

然后把绝对众数的计数移到次大值上,注意到次大值对应的东西不可能在操作后 > \frac{n}{2},毕竟我们绝对众数到 \frac{n}{2} 就收手了。

做完了。

T2

对原图跑 MST,现在只有 n - 1 条边。

对额外点,我们枚举前后 $k / 2$ 预处理 $2^{k / 2}$ 个 MST,枚举 $2^k$ 的时候就是前后拼起来。 然后只剩下 $\Theta(n)$ 个额外边,复杂度 $\Theta(n2^k\alpha(n))$。 实际上大样例没跑过直接 Kruskal 的 $\Theta(nk2^k\alpha(n))

T3

考虑 s_1s_2 的 LCP 和 LCS 夹在中间的那一块。

比如考虑 s_1 = x + y + zs_2 = x + y' + z

并且令 t_1 = a + b + ct_2 = a + b' + c

xa 的后缀,zc 的前缀,y = by' = b'

y 或者 y' 分组,建立若干字典树数点即可。

复杂度 \Theta(|L| \times |\Sigma| + (n + q) \log |L|)

T4

考虑王之钦定 trick。

转移讨论 $i$ 是不是在这 $k$ 个人里面,可以做到 $\Theta(1)$ 转移。