二项式反演及其证明 二项式反演及其证明

有一类问题是这样的:你可以推出<=i的方案数,你想求出恰好i的方案数
设<=i的方案数为a(i),恰好为i的方案数为b(i)
有$$a(n)=sum_{i=0}^ninom{n}{i}b(i)$$
相当于知道a(n),要求b(n)
二项式反演:$$b(n)=sum_{i=0}n(-1){n-i}inom{n}{i}a(i)$$
证明:

[b(n)=sum_{i=0}^n(-1)^{n-i}inom{n}{i}a(i) ]

[=sum_{i=0}^n(-1)^{n-i}inom{n}{i}sum_{j=0}^iinom{i}{j}b(j) ]

[=sum_{i=0}^nsum_{j=0}^i(-1)^{n-i}inom{n}{i}inom{i}{j}b(j) ]

[=sum_{j=0}^nsum_{i=j}^n(-1)^{n-i}inom{n}{i}inom{i}{j}b(j) ]

由于$$inom{n}{i}inom{i}{j}=inom{n}{j}inom{n-j}{i-j}$$
原式$$=sum_{j=0}nsum_{i=j}n(-1)^{n-i}inom{n}{j}inom{n-j}{i-j}b(j)$$
考虑这一坨$$inom{n}{j}sum_{i=j}n(-1){n-i}inom{n-j}{i-j}$$
当j=n时,该式=1
否则为0
于是原式$$=b(n)$$,得证.