loading

容斥计数题没做

AGC040C Neither AB nor BA

还是先解决判定性问题。由于一次操作一定是删掉一个奇数位一个偶数位,不妨将偶数位置的 AB 翻转(C 不变),现在不能同时删除 AA 或 BB。我们显然能发现一个必要条件为 A 的数量和 B 的数量都不能过半,接下来简单归纳证明这个条件是充分的。

显然 \(n=2\) 正确,当 \(n+2\rightarrow n\) 时,如果 A 和 B 都小于一半,那么随便删一个即可;如果存在一个等于一半,假设是 A,那么一定存在一个位置与 A 相邻但不为 A。若 AB 各占一半,那么显然存在相邻的 AB。

显然不合法的情况好算,枚举 A 或者 B 的出现次数 \(i(i>\frac{n}{2})\),答案即为 \(\binom{n}{i}2^i\)。复杂度线性。

QOJ8147 Math Exam

推一推式子可以发现 \(a_1=1\),\(a_i=a_{i-1}+2\) 或 \(a_i=-a_{i-1}\)。不难发现这一系列操作都不影响奇偶性,所以 \(a_i\) 全是奇数,所以不妨令 \(b_i=\frac{a_i+1}{2}\),可得 \(b_1=1\),\(b_i=1+b_{i-1}\) 或 \(b_i=1-b_{i-1}\),取值范围也变成 \(\frac{-m+1}{2}\le b_i\le \frac{m+1}{2}\)。不难再发现 \(b_i\) 的取值跟 \(b_{i-1}\) 的符号没多大关系,我们进一步简化 \(c_i=\lvert b_i\rvert=\frac{\lvert a_i+1\rvert}{2}\),可得 \(c_1=1\),\(c_i=c_{i-1}+1\) 或 \(c_i=c_{i-1}-1\),取值范围变成 \(0\le c_i\le \frac{m+1}{2}\)。为啥是对的呢?显然 \(a,c\) 存在一一对应关系,因为 \(c\) 的变大或变小也代表了 \(a\) 的取值,而在边界上分类讨论一下也可以发现上下界是正确的。问题转化为折线图统计,每次向右上或右下走一格,最终落在 \((n,s),s\in[0,\frac{m+1}{2}]\) 的方案数,反射容斥即可,需要维护 \(\binom{n}{i}\) 的前缀和,复杂度 \(O(n)\)。

经典例题

给定 \(n\),定义 \(n\) 个点的无向图 \(G\) 的权值 \(w(G)=(-1)^{\lvert E(G)\rvert}\),求所有连通图 \(G\) 的权值之和。

结论: \(ans=(-1)^{n-1}(n-1)!\)。

证明 1:斯特林反演

设 \(f_i\) 表示有恰好 \(i\) 个连通块的图的权值之和,设 \(g_i\) 表示至少有 \(i\) 个连通块的图的权值之和(即钦定若干个连通块之间没边,连通块内部随意)。

显然有式子 \(g_i=\sum_{k\ge i} {k \brace i} f_k\),套用斯特林反演得 \(f_i=\sum_{k\ge i}(-1)^{k-i}{k\brack i}g_k\),显然我们只想要 \(f_1=\sum_{1\le k\le n}(-1)^{k-1}(k-1)!g_k\),接下来证明 \(g_k=[k=n]\)。

由于 \(k<n\),所以一定存在一个连通块有 \(\ge 2\) 个点,从中任选两个点,考虑它们之间的连边。显然,这条边的存在性会改变 \(|E(G)|\) 的奇偶性,也进一步导致两者抵消,所以 \(k<n,g_k=0\)。而 \(k=n\) 时不存在这样的点,此时只有一种连边就是不连边,\(g_n=(-1)^0=1\)。故 \(ans=f_1=(-1)^{n-1}(n-1)!\)。

证明 2:EGF

设 \(\hat{F}(x)\) 为连通图权值和的 EGF,\(\hat{G}(x)\) 为任意图权值和的 EGF,根据 exp 的组合意义可以得到 \(\hat{G}(x)=\exp \hat{F}(x)\rightarrow \hat{F}(x)=\ln\hat{G}(x)\)。下面证明 \(\hat{G}(x)=1+x\)。

设 \(g_i\) 为 \(\hat{G}(x)\) 的第 \(i\) 项系数。还是一样的,若有 \(\ge 2\) 个点,考虑 \(1,2\) 之间的连边,它的存在性仍然会导致奇偶性改变而进一步使得两者抵消,所以 \(i\ge 2,g_i=0\)。对于 \(i\le 1\),只有一种连边方式是不连边,所以权值为 \((-1)^0=1\)。

泰勒展开得

\[\hat{F}(x)=\ln(1+x)=\sum_{n\ge 1}\frac{(-1)^{n-1}}{n}x^n=\sum_{n\ge 1}\frac{(-1)^{n-1}(n-1)!}{n!}x^n \]

得到 \(ans=[x^n]\hat{F}(x)=(-1)^{n-1}(n-1)!\)。

这个结论能干嘛用呢?

在互异容斥中(即题目要求互异),我们容斥时钦定若干对数相等,等量关系形成一张图,对于每个连通块,容斥系数之和就是上面那个经典问题。

posted @ 2025-12-05 16:08  dcytrl  阅读(11)  评论(0)    收藏  举报