二项式反演大学习

前言

二反是我学组合数学时遇到的第一大难关,故作此博客,以此来梳理

基本内容

主要有两种形式:

\[\begin{cases} g_{n} = \sum\limits_{i=0}^{n}{\binom{n}{i}f_{i}} \\ f_n=\sum\limits_{i=0}^{n}{\binom{n}{i}(-1)^{n-i}g_i} \end{cases}​\]

\[\begin{cases} g_k=\sum\limits_{i=k}^{n}{\binom{i}{k}f_i}\\ f_k=\sum\limits_{i=k}^{n}{(-1)^{i-k}\binom{i}{k}g_i} \end{cases} \]

\(g\)在上面是在至多有\(i\)个元素符合条件的情况下方案数(会多算),而在下面是至少有\(i\)个元素满足条件下的方案数。而\(f\)始终表示恰好有\(i\)个元素满足条件的方案数(这个是准确的)。

推导过程

这里给出上面的推导过程,下面的式子同理。
已知:

$$g_{n} = \sum\limits_{i=0}^{n}{\binom{n}{i}f_{i}}$$
求证:
$$f_k=\sum\limits_{i=k}^{n}{(-1)^{i-k}\binom{i}{k}g_i}$$
1. 将上面的式子代入下面得到:
$$f_n=\sum\limits_{i=0}^{n}{{n\choose i}(-1)^{n-i}\sum\limits_{j=0}^{i}{{i\choose j}f_j}}$$
2. 再根据以下式子:
${n\choose j}{j \choose k}={n \choose k}{n-k \choose j-k}$
两个求和公式实际上是在枚举所有小于等于$i$的$j$,因此可得:
$$f_n=\sum\limits_{j=0}^{n}{f_j{n\choose j}}\sum\limits_{i=j}^{n}{n-j \choose i-j}(-1)^{n-i}$$
3. 令$k=i-j$:
$$f_n=\sum\limits_{j=0}^{n}{f_j{n\choose j}}\sum\limits_{k=0}^{n-j}{n-j \choose k}(-1)^{n-j-k}$$
4 结合二项式定理:
$$(1-1)^n=\sum\limits_{i=0}^{n}{{n \choose i}(-1)^{n-i}}$$
我们令 $0^0=1,0^\mathbb{z}=0$,比较两个式子,我们发现右边部分异常相似,其中$n=n-j,k=i$,那么有:

\(n\neq j\)\(f_n=0\)

\(n=j\)\(f_n= f_j {n\choose j}=f_n\)
证毕。
另外一个式子与它类似,不再赘述。

应用

组合数学中若不易求出“恰好”的情况,可以先求出“至少”或“至多”的情况,再根据反演求出“恰好”。

posted @ 2026-07-19 18:58  wang7979  阅读(10)  评论(0)    收藏  举报