二项式反演

二项式反演

引入:

形式与多步容斥相似,公式与多步容斥类似,多步容斥公式为:

\[|A_1\cup A_2\cup...\cup A_n|=\sum\limits_{1\le i\le n}|A_i|-\sum\limits_{1\le i<j\le n}|A_i\cap A_j|+...+(-1)^{n-1}\times |A_1\cap A_2\cap ...\cap A_n| \]

思考一种特殊情况:多个集合的交集大小只和集合的数目有关。

因此,我们就可以写出二项式反演的基础公式:

公式

\(f(n)\) 表示 \(n\) 个补集的交集大小,\(g(n)\) 表示 \(n\) 个原集合的大小

因此,这两个公式就可以分别写成:

\[f(n)=\sum\limits_{i=0}^n(-1)^i{n\choose i}g(i)\\ g(n)=\sum\limits_{i=0}^n(-1)^i{n\choose i}f(i)\]

显然这两个公式是等价,也是相互推导的关系,因此我们得到了二项式反演的形式1:

形式 1:

\[f(n)=\sum\limits_{i=0}^n{n\choose i}g(i)\Leftrightarrow g(n)=\sum\limits_{i=0}^n(-1)^{n-i}{n\choose i}f(i) \]

形式 2:

\[f(n)=\sum\limits_{i=0}^n{n\choose i}g(i)\Leftrightarrow g(n)=\sum\limits_{i=0}^n(-1)^{n-i}{n\choose i}f(i) \]

证明:

我们把右边带入到左边,调换两个求和符号的顺序,然后再考虑 \({n\choose i}{i\choose j}\) 的组合意义,稍微转换一下可得到:

\[f(n)=\sum\limits_{j=0}^n{n\choose j}f(j)(1-1)^{n-j} \]

可以得出左右两边相等。

更加通用的证明公式为:

\[f(n)=\sum\limits_{i=m}^n{n\choose i}g(i)\Leftrightarrow g(n)=\sum\limits_{i=m}^n(-1)^{n-i}{n\choose i}f(i) \]

形式 3:

这个公式和形式2类似,是最常用的公式,为:

\[f(n)=\sum\limits_{i=n}^m{i\choose n}g(i)\Leftrightarrow g(n)=\sum\limits_{i=n}^m(-1)^{i-n}{i\choose n}f(i) \]

证明:

同上,把右边带入左侧即可。

组合意义:

我们记 \(f(n)\) 表示钦定选 \(n\) 个,\(g(n)\) 表示恰好选 \(n\) 个,则对于任意的 \(i\geq n\)\(g(i)\)\(f(n)\) 中被计算了 \({i\choose n}\) 次,因此 \(f(n)=\sum\limits_{i=n}^m{i\choose n}g(i)\),其中 \(m\) 是数目上界。

例题:

posted @ 2021-06-21 18:59  Evitagen  阅读(602)  评论(1编辑  收藏  举报