【Learning】二项式反演

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

f(n)=i=0ng(i)Cinf(n)=∑i=0ng(i)Cni

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

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

g(n)=i=0n(1)niCinj=0ig(j)Cjig(n)=∑i=0n(−1)n−iCni∑j=0ig(j)Cij

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

暴拆之后,我们发现一个式子
CinCji=CjnCninjCniCij=CnjCn−jn−i

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

g(n)=j=0nCjng(j)i=jn(1)niCninjg(n)=∑j=0nCnjg(j)∑i=jn(−1)n−iCn−jn−i

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

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

证明完毕。
例题

转载于:https://www.cnblogs.com/2016gdgzoi471/p/9476845.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值