二项式反演

发布时间 2023-06-17 00:50:56作者: chdy

从容斥开始谈起:

\(|A\cup B|=|A|+|B|-|A\cap B|\)

更一般的:

\(|A_1\cup A_2\cup...\cup A_n|=\sum_{i=1}^n|A_i|-\sum_{1\le i<j\le n}|A_i\cap A_j|+...+(-1)^{n-1}|A_1\cap A_2\cap...\cap A_n|\)

证明:设\(a\)\(M\)个集合出现,对左侧的贡献为1。对右侧的贡献为\(\sum_{i=1}^M(-1)^{i-1}C(M,i)=-\sum_{i=1}^M(-1)^iC(M,i)=1-\sum_{i=0}^M(-1)^iC(M,i)=1-(1-1)^M=1\)

证毕。

\(A^c\)\(A\)的补集

则有\(|A_1^c\cap A_2^c\cap ...\cap A_n^c|=|S|-\sum\limits_{1\le i\le n}|A_i|+\sum\limits_{1\le i<j\le n}|A_i\cap A_j|-...+(-1)^n\times |A_1\cap A_2\cap ...\cap A_n|\)

考虑其对偶形式。

又有\(|A_1\cap A_2\cap ...\cap A_n|=|S|-\sum\limits_{1\le i\le n}|A_i^c|+\sum\limits_{1\le i<j\le n}|A_i^c\cap A_j^c|-...+(-1)^n\times |A_1^c\cap A_2^c\cap ...\cap A_n^c|\)

考虑一种特殊情况:多个集合的交集大小只和集合的数目有关。

\(f(n)\)表示\(n\)个补集之和,\(g(n)\)表示\(n\)个原集之和,定义\(f(0),g(0)\)为全集。

上述两个形式可以利用\(f(n),g(n)\)表示为

\(f(n)=\sum_{i=0}^{n}(-1)^iC(n,i)g(i)\)

\(g(n)=\sum_{i=0}^{n}(-1)^nC(n,i)f(i)\)

有了这两个式子开始推导二项式反演。

形式1:

\(f(n)=\sum_{i=0}^nC(n,i)g(i)\Leftrightarrow g(n)=\sum_{i=0}^n(-1)^{n-i}C(n,i)f(i)\)

证明1:

\((-1)^ih(i)=g(i)\)\(f(n)=\sum_{i=0}^{n}(-1)^iC(n,i)h(i)\)

则有\(h(n)=\sum_{i=0}^{n}(-1)^iC(n,i)f(i)\)\(\frac{g(n)}{(-1)^n}=\sum_{i=0}^{n}(-1)^iC(n,i)f(i)\)可得\(g(n)=\sum_{i=0}^{n}(-1)^{n-i}C(n,i)f(i)\)

证明2:

\(f(n)=\sum_{i=0}^nC(n,i)\sum_{j=0}^i(-1)^{i-j}C(i,j)f(j)=\sum_{j=0}^n\sum_{i=j}^nC(n,i)C(i,j)(-1)^{i-j}f(j)=\sum_{j=0}^nf(j)\sum_{i=j}^nC(n,j)C(n-j,i-j)(-1)^{i-j}=\sum_{j=0}^nf(j)C(n,j)\sum_{i=0}^{n-j}C(n-j,i)(-1)^{i}=\sum_{j=0}^nf(j)C(n,j)(1-1)^{n-j}\)

\(n-j\neq 0\)时显然值为0

\(n-j=0\)时考虑这一点特殊的值为\(f(n)C(n,n)=f(n)\)

故等式成立。

进一步的有\(f(n)=\sum\limits_{i=m}^n{n\choose i}g(i)\Leftrightarrow g(n)=\sum\limits_{i=m}^n(-1)^{n-i}{n\choose i}f(i)\)

形式2:

\(f(n)=\sum\limits_{i=n}^m{i\choose n}g(i)\Leftrightarrow g(n)=\sum\limits_{i=n}^m(-1)^{i-n}{i\choose n}f(i)\)

证明:\(f(n)=\sum_{i=n}^mC(i,n)g(i)=\sum_{i=n}^m\sum_{j=i}^m(-1)^{j-i}C(j,i)C(i,n)f(j)=\sum_{j=n}^m\sum_{i=n}^j(-1)^{j-i}C(j,i)C(i,n)f(j)=\sum_{j=n}^m\sum_{i=n}^j(-1)^{(j-n)-(i-n)}C(j,n)C(j-n,i-n)f(j)=\sum_{j=n}^mC(j,n)f(j)\sum_{i=0}^{j-n}(-1)^{(j-n)-i}C(j-n,i)=\sum_{j=n}^mC(j,n)f(j)(1-1)^{n-j}\)

\(j=n\)时值为\(f(n)\)证毕。