【Learning】二项式反演

如果我们有一个这样的式子

f(n)=i=0ng(i)Cin f ( n ) = ∑ i = 0 n g ( i ) C n i

并且我们已经知道了 f f ,我们能否直接求出 g g 呢?答曰:可以。这个东西就叫做二项式反演。结果就是
g(n)=i=0n(1)niCinf(i) g ( n ) = ∑ i = 0 n ( − 1 ) n − i C n i f ( i )

怎么证?
一般证明反演的套路,我们带入一下

g(n)=i=0n(1)niCinj=0ig(j)Cji g ( n ) = ∑ i = 0 n ( − 1 ) n − i C n i ∑ j = 0 i g ( j ) C i j

改变一下枚举顺序
g(n)=j=0ng(j)i=jn(1)niCinCji g ( n ) = ∑ j = 0 n g ( j ) ∑ i = j n ( − 1 ) n − i C n i C i j

暴拆之后,我们发现一个式子
CinCji=CjnCninj C n i C i j = C n j C n − j n − i

替换一下
g(n)=j=0ng(j)i=jn(1)niCjnCninj g ( n ) = ∑ j = 0 n g ( j ) ∑ i = j n ( − 1 ) n − i C n j C n − j n − i

g(n)=j=0nCjng(j)i=jn(1)niCninj g ( n ) = ∑ j = 0 n C n j g ( j ) ∑ i = j n ( − 1 ) n − i C n − j n − i

后面的东西直接二项式定理
g(n)=j=0nCjng(j)(1+1)nj g ( n ) = ∑ j = 0 n C n j g ( j ) ( − 1 + 1 ) n − j

仅当 nj=0 n − j = 0 ,即 n=j n = j (1+1)nj ( − 1 + 1 ) n − j 才不为0
因此
g(n)=Cnng(n)=g(n) g ( n ) = C n n g ( n ) = g ( n )

证明完毕。
例题

你可能感兴趣的:(二项式反演,Learning,二项式定理,二项式反演)