10.7~10.13 总结

联考的题解还是在这里

做题:

ARC125F 这就是 \(\deg\) 做背包。把所有 \(\deg\) 减一。现在限制是和为 \(n-2\),每个数是自然数。

有性质:选取和为 \(y\) 的数的个数连续。设 \(L_y\) 为最少选的数,\(R_y\) 为最多。设有 \(z\)\(0\)。只需证明:

\[R_x-L_x\le 2z+1 \]

对于任意方案和、个数为 \(v,w\),有 \(v-w\in [-z,z-2]\)。因为 \(v-w=\sum_{i\in S}(\deg_i-1)\),因为我的策略是全选 \(0\) 或者不选 \(0\)。这就证明了命题成立。

经典结论最多有 \(\sqrt n\)\(\deg\)。多重背包直接二进制拆分即可 \(O(n\sqrt n\log n)\)

P5206

\(op=0\) 直接做。

\(op=1\) 就是核心。我们不希望包含 \(f(E_1\cap E_2)\),而最好是 \(\sum _{T\in E_1\cap E_2}f(T)\)。这里的想法是应用子集反演(和下面反着来还会带 \((-1)^{|E_1\cap E_2|}\)。。):

\[f(S)=\sum_{T\subset S}g(T) \]

\[f(S)=\sum_{T\subset S}g(T)=\sum_{T\subset S} \sum_{P\subset S}(-1)^{|T|+|P|}f(P) \]

这样比较好的是甚至不带任何直接和 \(S\) 相关的项。

然后推推狮子(运用 CF156D 结论)得到最终方案是

\[\sum_{S\subset E_1}C^{|S|}\prod a_i^2 \]

\(a_i\) 是割掉 \(S\) 的连通块大小,另一个经典技巧(唯一参加的一场 ARC 的 C)是 \(\prod a_i\) 变为在 \(|S|\) 个第 \(i\) 个大小是 \(a_i\) 的集合里选数。这样直接 dp 即可做到 \(O(n)\)

\(op=2\) 只需把枚举过程变为 GF 的 exp 即可。

CF1439B 首先把 \(\deg<k-1\) 的删掉。然后暴力拉出 \(\deg =k-1\) 的判断团。接下来没删完就是答案(第二类)。注意到团的 \(k=O(\sqrt m)\),所以复杂度是 \(O(m\sqrt m\log m)\)

CF645F 直接莫反即可。

CF653G 分开考虑质数,就变成了取中位数问题;直接计数。

CF1270G 神秘!考虑 \(i\to i-a_i\),则只需季桓叔召唤。

posted @ 2024-10-14 15:51  British_Union  阅读(15)  评论(0编辑  收藏  举报