二项式反演
二项式反演
第一种形式:
\[f(n)=\sum\limits_{i=0}^n\dbinom{n}i{g(i)}\Leftrightarrow g(n)=\sum\limits_{i=0}^n(-1)^{n+i} \dbinom nif(i)
\]
-
证明:
\[f(n)=\sum\limits_{i=0}^n\dbinom{n}i{g(i)}=\sum\limits_{i=0}^n\dbinom ni\sum\limits_{j=0}^i(-1)^{i+j}\dbinom ijf(j) \\ =\sum\limits_{j=0}^n\sum\limits_{i=j}^n\dbinom ni\dbinom ij(-1)^{i+j}f(j) \\ =\sum\limits_{j=0}^nf(j)\sum\limits_{i=j}^{n}\dbinom nj\dbinom {n-j}{i-j}(-1)^{i+j} \\ =\sum\limits_{j=0}^nf(j)\dbinom nj(-1)^{2j}\sum\limits_{i=0}^{n-j}\dbinom{n-j}{i}(-1)^i=f(n) \]
第二种形式:
\[f(n)=\sum\limits_{i=n}^m\dbinom in g(i)\Leftrightarrow g(n)=\sum\limits_{i=n}^m (-1)^{i-n} \dbinom in f(i)
\]
证明:
\[f(n)=\sum\limits_{i=n}^{m} \dbinom in \sum\limits_{j=i}^m (-1)^{j-i}\dbinom ji f(j)\\
=\sum\limits_{j=n}^m \sum\limits_{i=n}^j\dbinom in \dbinom ji(-1)^{j-i}f(j)\\
=\sum\limits_{j=n}^mf(j)\dbinom jn \sum\limits_{i=0}^{j-n}\dbinom {j-n}{i}(-1)^{j-i-n}\\
=\sum\limits_{j=n}^mf(j)\dbinom jn (-1)^{n-j} \sum\limits_{i=0}^{j-n}\dbinom {j-n}{i}(-1)^{-i}=f(n)
\]
常用公式
公式 1
-
\(f(n)=\sum\limits_{i=0}^n(-1)^i\dbinom ni g(i)\Leftrightarrow g(n)=\sum\limits_{i=0}^n(-1)^i\dbinom ni f(i)\)
证明:这个也是市面上的一种二项式反演。
\[f(n)=\sum\limits_{i=0}^n(-1)^i\dbinom ni \sum\limits_{j=0}^i(-1)^j \dbinom ij f(j)\\ =\sum\limits_{j=0}^nf(j)\dbinom nj \sum\limits_{i=0}^{n-j}(-1)^{i+2j}\dbinom {n-j}{i}=f(n) \]
公式 2
-
\(f(S)=\sum\limits_{S\subseteq T}g(T)\Leftrightarrow g(S)=\sum\limits_{S \subseteq T}(-1)^{|T|-|S|}f(T)\)
证明:这个也被称作子集反演。
\[g(S)=\sum\limits_{S \subseteq T} (-1)^{|T|-|S|} f(T)\\ =\sum\limits_{S \subseteq T}(-1)^{|S|-|T|}\sum\limits_{T \subseteq U} g(U)\\ =\sum\limits_{S\subseteq U}g(U)\sum\limits_{T'\subseteq U-S}(-1)^{|T'|}\\ =\sum\limits_{S\subseteq U}g(U)\sum\limits_{k=0}^{|U-S|}(-1)^k\dbinom{|U-S|}{k}\\ =\sum\limits_{S\subseteq U}g(U)[(U-S)=\varnothing]=g(S) \]
公式 3
- \(f(n,m)=\sum\limits_{i=0}^n\sum\limits_{j=0}^m \dbinom{n}{i}\dbinom mj g(i,j)\Leftrightarrow g(n,m)=\sum\limits_{i=0}^n\sum\limits_{j=0}^m\dbinom ni \dbinom mj (-1)^{n+m-i-j} f(i,j)\)
证明与之前类似,这里不再证明。
这里简单一题,整个二项式反演不管是一元函数,二元函数,还是说我认为也可以推广到多元函数,只有两个变化,第一个是和式到底是从 \(0\) 开始还v是从 \(n,m\) 开始 ,第二个是乘上的 \((-1)\) 的多少次方。那么不管是从 \(0\) 开始还是从 \(n,m\) 开始,后面乘上的这个项的系数要么两边都是 \(i+j\) ,要么第一个式子没有后面是 \(n+m-i-j\),前者开始项的改变只改变二项式系数。
所以我们可以轻易得到其余的三个二元二项式反演。
上面这段话所表示的规律也可以推广到子集反演上面。