【学习笔记】容斥
容斥原理
设 \(U\) 中的元素有 \(n\) 种不同属性,拥有属性 \(i\) 的元素构成集合 \(S_i\),则满足:\(\left|\bigcup_{i=1}^{n}S_i\right|=\sum_{i=1}^n(-1)^{i+1}\sum_{P=S_{a_1}\cap S_{a_2}\cap\cdots\cap S_{a_i},1\le a_1< a_2<\cdots<a_i\le n}|P|\)。
形式很像小学奥数里面的简单容斥,所有元素的并的大小可以由它们的交组合加减得到。
证明:
- 对元素 \(i\) 考察其出现次数,设其出现在了 \(m\) 个集合 \(T_1,T_2,\cdots,T_m\) 中,则其总出现次数为 \(\sum_{i=1}^m(-1)^{i+1}\binom{m}{i}=\binom{m}{0}-\sum{i=0}^m(-1)^i\binom{m}{i}=1-(1-1)^m=1\)。
更常见的形式是求集合的并的补集,也即不满足拥有任何一种属性的集合的大小:\(\overline{\left|\bigcup_{i=1}^{n}S_i\right|}=\sum_{i=0}^n(-1)^i\sum_{P=S_{a_1}\cap S_{a_2}\cap\cdots\cap S_{a_i},1<a_1< a_2<\cdots<a_i<n}|P|\),也可以看作是全集减去了所有元素集合的并。
证明类似:
- \(\sum_{i=0}^m(-1)^i\binom{m}{i}=(-1+1)^m=0\)。
二项式反演
已知 \(f,g\) 满足 \(f_n=\sum_{i=0}^n\binom{n}{i}g_i\),则 \(g_n=\sum_{i=0}^n\binom{n}{i}(-1)^{n-i}f_i\)。
证明:
-
给 \(f_n=\sum_{i=0}^n\binom{n}{i}g_i\) 里面代入 \(g_n=\sum_{i=0}^n\binom{n}{i}(-1)^{n-i}f_i\)。
-
\(f_n=\sum_{j=0}^n\binom{n}{j}f_j\sum_{i=j}^n\binom{n}{i}\binom{i}{j}(-1)^{i-j}\)。
-
\(f_n=\sum_{j=0}^n\binom{n}{j}f_j\sum_{i=0}^{n-j}\binom{n-j}{i}(-1)^i\)。
-
\(f_n=\sum_{j=0}^n\binom{n}{j}f_j[n=j]=f_n\),即左式等于右式。
一般运用时设 \(f_n\) 表示钦定 \(n\) 个,\(g_n\) 表示恰好 \(n\) 个。
子集反演
把二项式反演的形式写到集合上就是子集反演了。
就是对于 \(f,g\) 满足 \(f_S=\sum_{T\subseteq S}g_T\) 有 \(g_S=\sum_{T\subseteq S}(-1)^{|S|-|T|}f_T\)。
min-max 容斥
\(\max\{S\}=\sum_{T\subseteq S}(-1)^{|T|+1}\min\{T\}\),对称地也有 \(\min\{S\}=\sum_{T\subseteq S}(-1)^{|T|+1}\max\{T\}\)。
因为很对称这里只证明前面那个:
- 记 \(\max\{S\}=x\),当且仅当 \(T=S\) 时右式 \(x\) 有贡献,而 \(T\ne S\) 时 \(x\) 对值无贡献但对集合大小有贡献,也就是其他集合刚好可以一一抵消。
这个为什么很牛是因为这个在期望下也是成立的。
\(E(\max\{S\})=\sum_{T\subseteq S}(-1)^{|T|+1}E(\min\{S\})\),最小值同样。

浙公网安备 33010602011771号