二项式反演

会证二项式反演啦!

其实推式子还是很好玩的,对吧。

先来说一下二项式反演的内容:

设你有两个数列\(f\)\(g\),满足:

\[g_i=\sum_{j=1}^i {i \choose j} f_j\]

那么一定有:

\[f_i=\sum_{j=1}^i (-1)^{i-j} {i \choose j} g_j\]

其实二项式反演还有另一种形式,只不过最常用的是上面那种,在这里也写出来:

如果有:

\[g_i=\sum_{j=1}^i (-1)^j {i \choose j} f_j\]

那么:

\[f_i=\sum_{j=1}^i (-1)^j {i \choose j} g_j\]

下面来证明一下第一种形式。

把第一个式子代入第二个可以知道:

\[f_i=\sum_{j=1}^i (-1)^{i-j} {i \choose j} \sum_{k=1}^j {j \choose k} f_k\]

整理一下,\(f_k\)的系数就是:

\[\sum_{j=k}^i (-1)^{i-j} {i \choose j} {j \choose k}\]

我们只要证明上面的式子等价于\([i==k]\)即可,把二项式系数拆成阶乘的形式:

\[\sum_{j=k}^i (-1)^{i-j} \frac{i!}{j!(i-j)!}*\frac{j!}{k!(j-k)!}\]

消掉\(j!\),再把\(i!\)\(k!\)提出来:

\[\Bigg( \sum_{j=k}^i (-1)^{i-j} \frac{1}{(i-j)!(j-k)!} \Bigg) * \frac{i!}{k!}\]

再在前面乘以\((i-k)!\),后面除以\((i-k)!\)

\[\Bigg( \sum_{j-k}^i (-1)^{i-j} \frac{(i-k)!}{(i-j)!(j-k)!} \Bigg) * \frac{i!}{k!(i-k)!}\]

就等于:

\[\Bigg( \sum_{j=k}^i (-1)^{i-j} {i-k \choose j-k} \Bigg) * {i \choose k}\]

不难发现前面那一项就是\(i-k\)的二项式系数错位相减,这是等于\([i-k=0]\)的,也就是在\(i!=k\)时,前一项永远为\(0\)。而\(i==k\)时,前后两项都为\(1\),因此得证。

\(note\):有些题目的式子推出来是下标从\(0\)开始的,也可以用二项式反演。因为证明过程并没有用到那个\(1\)

然后就可以用二项式反演来套路题目了,一般就是你要求\(f\),已经知道一个好求的\(g\)满足\(g_i=\sum_{j=1}^i {i \choose j} f_j\),然后就只要二项式反演一下就好了。

转载于:https://www.cnblogs.com/Mr-Spade/p/9638430.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值