二项式&容斥原理学习笔记

二项式&容斥笔记

容斥原理

先从容斥开始
定义
\(U\) 中元素有 \(n\) 种不同的属性,而第 \(i\) 种属性称为 \(P_i\),拥有属性 \(P_i\) 的元素构成集合 \(S_i\),那么

\[\left|\bigcup_{i=1}^{n}S_i\right|=\sum_{i}|S_i|-\sum_{i<j}|S_i\cap S_j|+\\ \sum_{i<j<k}|S_i\cap S_j\cap S_k|-\cdots+(-1)^{m-1}\sum_{a_i<a_{i+1}}\left|\bigcap_{i=1}^{m}S_{a_i}\right|+\\ \cdots+(-1)^{n-1}|S_1\cap\cdots\cap S_n| \]

\[\left|\bigcup_{i=1}^{n}S_i\right|=\sum_{m=1}^n(-1)^{m-1}\sum_{a_i<a_{i+1}}\left|\bigcap_{i=1}^mS_{a_i}\right| \]

证明
对于每个元素使用二项式定理计算其出现的次数.对于元素 \(x\),假设它出现在 \(T_1,T_2,\cdots,T_m\) 的集合中,那么它的出现次数为

\[\begin{aligned} Cnt=&|\{T_i\}|-|\{T_i\cap T_j|i<j\}|+\cdots+(-1)^{k-1}\left|\left\{\bigcap_{i=1}^{k}T_{a_i}|a_i<a_{i+1}\right\}\right|\\ &+\cdots+(-1)^{m-1}|\{T_1\cap\cdots\cap T_m\}|\\ =&\binom{m}{1}-\binom{m}{2}+\cdots+(-1)^{m-1}\binom{m}{m}\\ =&\binom{m}{0}-\sum_{i=0}^m(-1)^i\binom{m}{i}\\ =&1-(1-1)^m=1 \end{aligned} \]

于是每个元素出现的次数为 1,那么合并起来就是并集.证毕。

人话证明
证明的思路是考虑一个元素在每一个 \(\bigcap\limits_{i=1}^{m}S_{a_i}\)
里出现的次数,然后通过一番暴算,我们能够发现每个元素都只出现了 1 次,这样,每个元素合起来就变成了总的并集。

补集
对于全集 \(U\) 下的集合的并,可以使用容斥原理计算;而集合的交则用全集减去补集的并集求得:

\[\left|\bigcap_{i=1}^{n} S_i\right| = |U| - \left|\bigcup_{i=1}^{n} \overline{S_i}\right| \]

右边使用容斥即可。

二项式反演

基础的组合数恒等式

  1. \[\begin{pmatrix} n\\ i \end{pmatrix} \begin{pmatrix} i\\ j \end{pmatrix} = \begin{pmatrix} n\\ j \end{pmatrix} \begin{pmatrix} n-j\\ n-i \end{pmatrix} \]

    这里给出组合意义的证明。

    \(|U| = n, |A| = i, b = |j|, B \subseteq A \subseteq U\) 的方案数。这里有两种方法:

    法一:先在 \(U\) 里取 \(i\) 个元素构成集合 \(A\),方案数为 \(\binom{n}{i}\),然后在 \(i\) 个元素里再取 \(j\) 个元素构成集合 \(B\),方案数为 \(\binom{i}{j}\),合起来就是 \(\binom{n}{i} \binom{i}{j}\)

    法二:先在 \(U\) 里取 \(j\) 个元素构成集合 \(B\),方案数为 \(\binom{n}{j}\),再在剩下的 \(n - j\) 个元素里取 \(i - j\) 个元素,方案数为 \(\binom{n - j}{i - j}\),又有 \(\binom{n - j}{i - j} = \binom{n - j}{n - i}\),所以方案数就是 \(\binom{n}{j} \binom{n - j}{n - i}\)

  2. \[\sum_{i=0}^{n} (-1)^i \binom{n}{i} = [0 = n] \]

二项式反演

反演其实就是对于 \(f,g\)\(g\)\(f\) 但是难求,那就转化一下成 \(f\)\(g\)

  1. 第一种常见形式是:

    \[f(n)=\sum_{i=0}^n(-1)^i\binom{n}{i}g(i)\iff g(n)=\sum_{i=0}^n(-1)^i\binom{n}{n-i}f(i) \]

    证明如下:

    \[\sum_{i=0}^n(-1)^i\binom{n}{i}f(i) =\sum_{i=0}^n(-1)^i\binom{n}{i}\sum_{j=0}^i(-1)^j\binom{i}{j}g(j) \]

    \[=\sum_{j=0}^n g(j)\binom{n}{j}\sum_{i=j}^n(-1)^{i-j}\binom{n-j}{i-j} =\sum_{j=0}^n g(j)\binom{n}{j}[n-j=0] =g(n) \]

  2. 第二种形式是:

    \[f(n)=\sum_{i=n}^{N}(-1)^i\binom{i}{n}g(i)\iff g(n)=\sum_{i=n}^{N}(-1)^i\binom{i}{i}f(i) \]

    证明也是类似的:

    \[\sum_{i=n}^{N}(-1)^i\binom{i}{n}f(i) =\sum_{i=n}^{N}(-1)^i\binom{i}{n}\sum_{j=i}^{N}\binom{j}{i}g(j) \]

    \[=\sum_{j=n}^{N}g(j)(-1)^{j-n}\binom{j}{n}\sum_{i=n}^{j}(-1)^{i-n}\binom{j-n}{i-n} \]

    \[=\sum_{j=n}^{N}g(j)(-1)^{j-n}\binom{j}{n}[j-n=0] =g(n) \]

posted @ 2026-08-04 19:54  词印  阅读(3)  评论(0)    收藏  举报