2024.11.4总结


A:

将一个点拆成 30 个点,代表二进制下某一位选不选,分讨与或非三种情况下,aia_ibib_i 在某一位的选择,2-SAT 即可,最后将所有位加起来即可。

最后 checkcheck 一遍判无解。

B:

容易想到将长度为 nn 的一段分成两段来考虑,这样可以得到 O(n2)O(n^2) 的解法,100pts 用 CDQ+FFT 即可。

C:

建 ACAM,朴素转移比较好想,最后将期望和概率扔到矩阵里加速转移即可。