二项式反演基础

二项式反演

\(g_n=\sum\limits_{i=0}^n(-1)^i\displaystyle\binom{n}{i}f_i\quad↔\quad f_n=\sum\limits_{i=0}^n(-1)^i\displaystyle\binom{n}{i}g_i\)

证明:

\[\begin{align} &\sum\limits_{i=0}^n(-1)^i\binom{n}{i}g_i\\ =&\sum_{i=0}^n(-1)^i\binom{n}{i}\sum_{j=0}^i(-1)^j\binom{i}{j}f_j\\ =&\sum_{i=0}^n\sum_{j=0}^i(-1)^{i}(-1)^j\frac{n!}{i!(n-i)!}·\frac{i!}{j!(i-j!)}f_j\\ =&\sum_{i=0}^n\sum_{j=0}^i(-1)^{i}(-1)^j\frac{n!}{(n-i)!j!(i-j!)}f_j\\ =&\sum_{i=0}^n\sum_{j=0}^i(-1)^{i}(-1)^j\frac{n!(n-j)!}{(n-j)!(n-i)!j!(i-j!)}f_j\\ =&\sum_{i=0}^n\sum_{j=0}^i(-1)^{i}(-1)^j\frac{n!}{(n-j)!j!}·\frac{(n-j)!}{(n-i)!(i-j!)}f_j\\ =&\sum_{i=0}^n\sum_{j=0}^i(-1)^{i}(-1)^j\binom{n}{j}·\binom{n-j}{i-j}f_j\\ =&\sum_{j=0}^n(-1)^j\binom{n}{j}f_j\sum_{i=j}^n(-1)^i\binom{n-j}{i-j}\\ &i←i-j\\ =&\sum_{j=0}^n(-1)^j\binom{n}{j}f_j\sum_{i=0}^{n-j}(-1)^{i+j}\binom{n-j}{i}\\ =&\sum_{j=0}^nf_j\binom{n}{j}\sum_{i=0}^{n-j}(-1)^{i}\binom{n-j}{i}\\ =&\sum_{j=0}^nf_j\binom{n}{j}[n==j]\\ =&f_n \end{align} \]

倒数第二步可以把后面那一坨变为 \((1-1)^{n-j}\) 显然等价于 \([n==j]\)

于是就有

\[f_n=\sum_{i=0}^n\binom{n}{i}g_i\quad↔\quad g_n=\sum_{i=0}^n(-1)^{n-i}\binom{n}{i}f_i \]

可以令 \(G_n=(-1)^ng_n\) 再带入最上面的式子,就有了一样的形式了。


应用

假设要求计数 恰好 \(k\) 个某物的方案数,\(1\leq k\leq n\)

1.我们令 \(g_i\) 表示 恰好 \(i\) 个某物的方案数,\(f_i\)至多 \(i\) 个某物的方案数。

这个满足 \(f_k=\sum\limits_{i=0}^k\displaystyle\binom{k}{i}g_i\) ,假设我们能求出 \(f_{0,1,2,..k}\) ,就可以用二项式反演求回 $ g_k=\sum_{i=0}k(-1)\displaystyle\binom{k}{i}f_i $了。

2.我们令 \(g_i\) 表示 恰好 \(i\) 个某物的方案数,\(f_i\)至少 \(i\) 个某物的方案数。

这个满足 \(f_k=\sum\limits_{i=k}^n\displaystyle\binom{i}{k}g_i\quad ↔\quad g_k=\sum\limits_{i=k}^n(-1)^{i-k}\displaystyle\binom{i}{k}f_i\)

不会证,所以暴力拆开。

\[\begin{align} &\sum_{i=k}^n\binom{i}{k}g_i\\ =&\sum_{i=k}^n\binom{i}{k}\sum_{j=i}^n(-1)^{j-i}\binom{j}{i}f_j\\ =&\sum_{i=k}^n\sum_{j=i}^n\binom{j}{i}\binom{i}{k}(-1)^{j-i}f_j\\ =&\sum_{i=k}^n\sum_{j=i}^n\binom{j}{k}\binom{j-k}{i-k}(-1)^{j-i}f_j\\ =&\sum_{j=k}^nf_j\sum_{i=k}^j(-1)^{j-i}\binom{j}{k}\binom{j-k}{i-k}\\ &i←i-k\\ =&\sum_{j=k}^nf_j\binom{j}{k}\sum_{i=0}^{j-k}(-1)^{j-k-i}\binom{j-k}{i}\\ =&\sum_{j=k}^nf_j\binom{j}{k}[j==k]\\ =&f_k \end{align} \]

于是也可以先求出 \(f_{0,1,2...k}\) 再二项式反演回 \(g_k\) 了。

这个貌似就是广义容斥,把求恰好的问题转化为求至多,至少的问题。

例题

[post cid="969" cover="http://"/]

posted @ 2021-06-20 11:28  摸鱼酱  阅读(56)  评论(0编辑  收藏  举报