二项式反演四种形式及其中一种的证明

二项式反演

二项式反演的题通常有一个比较复杂的问题 f(n)f(n)f(n),难以直接求解,通过构造一个比较简单的问题 g(i)g(i)g(i) 以及 f(n)f(n)f(n)g(i)g(i)g(i) 的关系求出 f(n)f(n)f(n)

二项式反演的四种形式

形式一:
g(n)=∑i=0n(−1)i(ni)f(i)⟺f(n)=∑i=0n(−1)i(ni)g(i) g(n)=\sum_{i=0}^{n}(-1)^i \begin{pmatrix} n\\ i \end{pmatrix} f(i)\Longleftrightarrow f(n)=\sum_{i=0}^{n} (-1)^i \begin{pmatrix} n\\i \end{pmatrix}g(i) g(n)=i=0n(1)i(ni)f(i)f(n)=i=0n(1)i(ni)g(i)

形式二:
g(n)=∑i=0n(ni)f(i)⟺f(n)=∑i=0n(−1)n−i(ni)g(i) g(n)=\sum_{i=0}^{n}\begin{pmatrix} n\\ i \end{pmatrix} f(i)\Longleftrightarrow f(n)=\sum_{i=0}^{n} (-1)^{n-i} \begin{pmatrix} n\\i \end{pmatrix}g(i) g(n)=i=0n(ni)f(i)f(n)=i=0n(1)ni(ni)g(i)

形式三:
g(n)=∑i=nN(−1)i(in)f(i)⟺f(n)=∑i=nN(−1)i(in)g(i) g(n)=\sum_{i=n}^{N}(-1)^i\begin{pmatrix} i\\ n \end{pmatrix} f(i)\Longleftrightarrow f(n)=\sum_{i=n}^{N} (-1)^{i} \begin{pmatrix} i\\n \end{pmatrix}g(i) g(n)=i=nN(1)i(in)f(i)f(n)=i=nN(1)i(in)g(i)

形式四:
g(n)=∑i=nN(in)f(i)⟺f(n)=∑i=nN(−1)i−n(in)g(i) g(n)=\sum_{i=n}^{N}\begin{pmatrix} i\\ n \end{pmatrix} f(i)\Longleftrightarrow f(n)=\sum_{i=n}^{N} (-1)^{i-n} \begin{pmatrix} i\\n \end{pmatrix}g(i) g(n)=i=nN(in)f(i)f(n)=i=nN(1)in(in)g(i)

其中,形式二和形式四最为常用。

另外,请不要试图使用容斥原理理解这四个公式,那会十分复杂。

上面公式的证明

前置芝士:二项式系数恒等式

(ji)(in)=(jn)(j−nj−i)\begin{pmatrix}j\\i\end{pmatrix}\begin{pmatrix} i\\n \end{pmatrix}=\begin{pmatrix}j\\n\end{pmatrix}\begin{pmatrix}j-n\\j-i\end{pmatrix}(ji)(in)=(jn)(jnji)

证明:

尝试展开左右两边的每一项。
(ji)(in)=j!i!(j−i)!⋅i!n!(i−n)!=j!(j−i)!n!(i−n)! \begin{aligned} \begin{pmatrix}j\\i\end{pmatrix}\begin{pmatrix} i\\n \end{pmatrix} &=\frac{j!}{i!(j-i)!}·\frac{i!}{n!(i-n)!}\\ &= \frac{j!}{(j-i)!n!(i-n)!} \end{aligned}\\ (ji)(in)=i!(ji)!j!n!(in)!i!=(ji)!n!(in)!j!

(jn)(j−nj−i)=j!n!(j−n)!⋅(j−n)!(j−i)!(i−n)!=j!(j−i)!n!(i−n)! \begin{aligned} \begin{pmatrix}j\\n\end{pmatrix}\begin{pmatrix}j-n\\j-i\end{pmatrix}&=\frac{j!}{n!(j-n)!} ·\frac{(j-n)!}{(j-i)!(i-n)!}\\ &= \frac{j!}{(j-i)!n!(i-n)!} \end{aligned} (jn)(jnji)=n!(jn)!j!(ji)!(in)!(jn)!=(ji)!n!(in)!j!

由此可得,(ji)(in)=(jn)(j−nj−i)\begin{pmatrix}j\\i\end{pmatrix}\begin{pmatrix} i\\n \end{pmatrix}=\begin{pmatrix}j\\n\end{pmatrix}\begin{pmatrix}j-n\\j-i\end{pmatrix}(ji)(in)=(jn)(jnji)

形式二的证明

由于证明过程太长了作者太懒了,这里我就只提供一种形式的证明,其他的按照同样的方法就可以证明。

g(i)g(i)g(i) 的定义带入等式右边,得到:

f(n)=∑i=0n(−1)n−i(ni)∑j=0i(ij)f(j) f(n)=\sum_{i=0}^{n}(-1)^{n-i}\begin{pmatrix}n\\i\end{pmatrix}\sum_{j=0}^{i}\begin{pmatrix}i\\j\end{pmatrix}f(j) f(n)=i=0n(1)ni(ni)j=0i(ij)f(j)

交换各项的顺序,得到:

f(n)=∑j=0nf(j)∑i=jn(−1)n−i(ni)(ij) f(n)=\sum_{j=0}^{n}f(j)\sum_{i=j}^{n}(-1)^{n-i}\begin{pmatrix}n\\i\end{pmatrix}\begin{pmatrix}i\\j\end{pmatrix} f(n)=j=0nf(j)i=jn(1)ni(ni)(ij)
为什么能够这么改变?

首先先不看 ∑\sum,其他每一项在上面出现的在下面都出现了。

其次,我们可以画一个矩阵,枚举以下两个 ∑\sum 的枚举顺序。

可以发现,两条式子其实是等价的,只是枚举顺序改变了。

带入二项式系数恒等式,得到:

f(n)=∑j=0nf(j)(nj)∑i=jn(−1)n−i(n−jn−i) f(n)=\sum_{j=0}^{n}f(j)\begin{pmatrix}n\\j\end{pmatrix}\sum_{i=j}^{n}(-1)^{n-i} \begin{pmatrix}n-j\\n-i\end{pmatrix} f(n)=j=0nf(j)(nj)i=jn(1)ni(njni)

所以,f(n)=f(n)。f(n)=f(n)。f(n)=f(n)

公式成立。

其他证明略,使用同样的套路套上去就可以了

完结撒花!手动狗头\tiny 手动狗头手动狗头

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值