前言
其實管他叫二項式反演好像有些狹義了
因為這個東西不僅僅和二項式有關,並且應用非常的廣泛
所有的反演都有一個特點,把那些非常不好求的東西變換一下
先求到一個好弄的東西,然后通過反演公式得到原數組
其實這個玩意吧,他還有一個形式0,說是或我沒看太懂,兩個式子好像是等價的
咱也不知道那是個啥,沒啥用,不管他了
形式一
表達式
\[f(n)=\sum\limits_{i=0}^n{n\choose i}g(i)\Leftrightarrow g(n)=\sum\limits_{i=0}^n(-1)^{n-i}{n\choose i}f(i) \]
這里\(f\)數組表示我們滿足最多是\(i\)個條件的時候的方案數或者概率或者期望
那么\(g\)數組就表示恰好滿足\(i\)個條件的。。。。。。。
證明
這個證明的話,就是直接帶入法,因為我真的不知道發明這個定理的人是咋想出來的
將\(f\)數組的式子帶入到\(g\)的式子中,得到
\[g(n)=\sum_{i=0}^{n}(-1)^{n-i}{n\choose i}\sum_{j=0}^{i}g(j){i\choose j} \]
我們將\(j\)的枚舉提前,這個是反演的基本操作
\[g(n)=\sum_{j=0}^{n}g(j)\sum_{i=j}^{n}(-1)^{n-i}{n\choose i}{i\choose j} \]
然后就直接把后面這個拆開
\[{n\choose i}{i\choose j}=\frac{n!}{i!(n-i)!}×\frac{i!}{j!(i-j)!} \]
這個時候就直接把\(i!\)消掉,再上下同時乘上\((n-j)!\)就直接變成了下面的等式
\[{n\choose i}{i\choose j}={n\choose j}{n-j\choose n-i} \]
直接在原來的式子中替換它
\[g(n)=\sum_{j=0}^{n}g(j)\sum_{i=j}^{n}(-1)^{n-i}{n\choose j}{n-j\choose n-i} \]
那前面那個組合數已經和\(i\)沒有關系了,直接提出來
\[g(n)=\sum_{j=0}^{n}{n\choose j}g(j)\sum_{i=j}^{n}(-1)^{n-i}{n-j\choose n-i} \]
我們就直接吧后面那個\(i\)改一下從\(i=0\)枚舉到\(n-j\)然后就直接用二項式定理
\[g(n)=\sum_{j=0}^{n}{n\choose j}g(j)\sum_{i=0}^{n-j}(-1)^{i}{n-j\choose i} \]
\[g(n)=\sum_{j=0}^{n}{n\choose j}g(j)(-1+1)^{n-j} \]
后面的這個式子只有在\(n==j\)的時候才成立,所以得證
這個東西在一般的題中的應用就是用\(f\)數組的到\(g\)數組
因為這種至少至多的比較好求
然后,形式二就是關於至少的形式了
形式二
\[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) \]
這個證明其實跟上面的是一樣的,直接看就行了
\[\begin{split} f(n)&=\sum\limits_{i=n}^m{i\choose n}\sum\limits_{j=i}^m(-1)^{j-i}{j\choose i}f(j)\\ &=\sum\limits_{i=n}^m\sum\limits_{j=i}^m(-1)^{j-i}{i\choose n}{j\choose i}f(j)\\ &=\sum\limits_{j=n}^mf(j)\sum\limits_{i=n}^j(-1)^{j-i}{i\choose n}{j\choose i}\\ &=\sum\limits_{j=n}^m{j\choose n}f(j)\sum\limits_{i=n}^j{j-n\choose j-i}(-1)^{j-i}\\ &=\sum\limits_{j=n}^m{j\choose n}f(j)\sum\limits_{t=0}^{j-n}{j-n\choose t}(-1)^{t}1^{j-n-t}\\ &=\sum\limits_{j=n}^m{j\choose n}f(j)(1-1)^{j-n}\\ &=\sum\limits_{j=n}^m{j\choose n}f(j)[j=n]\\ &={n\choose n}f(n)\\ &=f(n) \end{split}\]
