二项式反演

做一个简单的总结。


定义

常用于计数容斥中,解决的是“钦定”和“恰好”的问题。

我们定义 \(f_i\)钦定\(i\) 个满足条件的方案数,\(g_i\)恰好\(i\) 个满足条件的方案数。

常见的有四种形式:

\[f_n = \sum_{i=0}^n(-1)^i\begin{pmatrix}n\\i\end{pmatrix} g_i \leftrightarrow g_n=\sum_{i=0}^n (-1)^i\begin{pmatrix}n\\i\end{pmatrix} f_{i} \]

\[f_n = \sum_{i=0}^n\begin{pmatrix}n\\i\end{pmatrix} g_i \leftrightarrow g_n=\sum_{i=0}^n (-1)^{n-i}\begin{pmatrix}n\\i\end{pmatrix} f_{i} \]

\[f_n = \sum_{i=n}^N(-1)^i\begin{pmatrix}i\\n\end{pmatrix} g_i \leftrightarrow g_n=\sum_{i=n}^N (-1)^i\begin{pmatrix}i\\n\end{pmatrix} f_{i} \]

\[f_n = \sum_{i=n}^N\begin{pmatrix}i\\n\end{pmatrix} g_i \leftrightarrow g_n=\sum_{i=n}^N (-1)^{i-n}\begin{pmatrix}i\\n\end{pmatrix} f_{i} \]

其中 \(2\)\(4\) 形式最常用。


证明

形式一:

将左式代入到右式,得到:

\[g_n=\sum_{i=0}^n (-1)^i\begin{pmatrix}n\\i\end{pmatrix} \sum_{j=0}^i(-1)^j\begin{pmatrix}i\\j\end{pmatrix} g_j \]

交换 \(i,j\),得到:

\[g_n=\sum_{j=0}^n (-1)^jg_j\sum_{i=j}^n(-1)^i\begin{pmatrix}n\\i\end{pmatrix}\begin{pmatrix}i\\j\end{pmatrix} \]

这里,我们要证明 \(\begin{pmatrix}n\\i\end{pmatrix}\begin{pmatrix}i\\j\end{pmatrix}=\begin{pmatrix}n\\j\end{pmatrix}\begin{pmatrix}n-j\\n-i\end{pmatrix}\)

  • 易得 \(\begin{pmatrix}n\\i\end{pmatrix}\begin{pmatrix}i\\j\end{pmatrix}=\frac{n!i!}{i!(n-i)!j!(i-j)!}\)

  • 去掉 \(i!\),添上 \((n-j)!\),有原式 \(=\)

\[\frac{n!(n-j)!}{j!(n-j)!(n-i)!(i-j)!}=\begin{pmatrix}n\\j\end{pmatrix}\begin{pmatrix}n-j\\n-i\end{pmatrix} \]

于是上面的式子继续化为:

\[g_n=\sum_{j=0}^n (-1)^jg_j\sum_{i=j}^n(-1)^i\begin{pmatrix}n\\j\end{pmatrix}\begin{pmatrix}n-j\\n-i\end{pmatrix} \]

更换 \(i\) 枚举的范围,得到:

\[g_n=\sum_{j=0}^n g_j(-1)^j\begin{pmatrix}n\\j\end{pmatrix}\sum_{i=0}^{n-j}(-1)^{i+j}\begin{pmatrix}n-j\\i\end{pmatrix} \]

根据二项式定理 \(\sum_{i=0}^{n-j}(-1)^{i}\begin{pmatrix}n-j\\i\end{pmatrix}=(1-1)^{n-j}\),有:

\[g_n=\sum_{j=0}^n g_j(-1)^{2j}\begin{pmatrix}n\\j\end{pmatrix}(1-1)^{n-j} \]

当且仅当 \(j=n\) 时,\((-1)^{2j}\begin{pmatrix}n\\j\end{pmatrix}(1-1)^{n-j}=1\)

得证。

形式二的证法是一样的,可以自己联系一下。

形式三:

与上面的1证明相似,那就再写一遍:

将左式代入到右式,得到:

\[g_n=\sum_{i=n}^N (-1)^i\begin{pmatrix}i\\n\end{pmatrix} \sum_{j=i}^N(-1)^j\begin{pmatrix}j\\i\end{pmatrix} g_j \]

交换 \(i,j\),得到:

\[g_n=\sum_{j=n}^N (-1)^j g_j\sum_{i=n}^j(-1)^i\begin{pmatrix}i\\n\end{pmatrix}\begin{pmatrix}j\\i\end{pmatrix} \]

我们还要证明 \(\begin{pmatrix}i\\n\end{pmatrix}\begin{pmatrix}j\\i\end{pmatrix}=\begin{pmatrix}j\\n\end{pmatrix}\begin{pmatrix}j-n\\i-n\end{pmatrix}\)

  • 易得 \(\begin{pmatrix}i\\n\end{pmatrix}\begin{pmatrix}j\\i\end{pmatrix}=\frac{i!j!}{n!(i-n)!i!(j-i)!}\)

  • 除掉 \(i!\),添上 \((j-n)!\)

\[\frac{j!(j-n)!}{n!(j-n)!(i-n)!(j-i)!}=\begin{pmatrix}j\\n\end{pmatrix}\begin{pmatrix}j-n\\i-n\end{pmatrix} \]

所以式子又变成:

\[g_n=\sum_{j=n}^N g_j(-1)^j \begin{pmatrix}j\\n\end{pmatrix}\sum_{i=n}^j(-1)^i\begin{pmatrix}j-n\\i-n\end{pmatrix} \]

更换 \(i\) 枚举的范围:

\[g_n=\sum_{j=n}^N g_j(-1)^j \begin{pmatrix}j\\n\end{pmatrix}\sum_{i=0}^{j-n}(-1)^{i+j}\begin{pmatrix}j-n\\i\end{pmatrix} \]

根据二项式定理 \(\sum_{i=0}^{j-n}(-1)^{i}\begin{pmatrix}j-n\\i\end{pmatrix}=(1-1)^{j-n}\),有:

\[g_n=\sum_{j=n}^N g_j(-1)^{2j} \begin{pmatrix}j\\n\end{pmatrix}(1-1)^{j-n} \]

当且仅当 \(j=n\) 时,\((-1)^{2j} \begin{pmatrix}j\\n\end{pmatrix}(1-1)^{j-n}=1\)

得证。

形式四也是一模一样的证明。

posted @ 2022-11-01 14:48  zuytong  阅读(28)  评论(0编辑  收藏  举报