二项式反演

Jun 21st, 2020
  • 在其它设备中阅读本文章

用来解决奇怪的计数问题. 首先是数论之神的照片

![咕了, 有机会再拍]()

例题

都是 BZOJ 的, 当然后两道在洛谷上也有.

  • BZOJ4665 小 w 的喜糖
  • BZOJ2839 集合计数
  • BZOJ3622 洛谷 P4859 已经没有什么好害怕的了
  • BZOJ4710 洛谷 P5505 分特产

前置知识 (?)

其实严格来说并不算前置知识, 但窝感觉还是最好看一下.

什么是反演

给定一个数列 $\{f_x\}$ 求 $f_n$, 然而并不好直接求. 于是找到另一个数列 $\{g_x\}$ 与 $\{f_x\}$ 有关, 并且 $\{g_x\}$ 比较好求, 就用 $\{g_x\}$ 来表示 $\{f_x\}$. 当然出题人不会那么良心直接就让你求出怎么用 $\{g_x\}$ 来表示 $\{f_x\}$, 所以要先用 $\{f_x\}$ 表示 $\{g_x\}$, 然后用反演化成想要的柿子.

用窝们教练的话说就是

对于一个数列 $\{f_n\}$ 来说,如果我们知道另外一个数列 $\{g_n\}$,满足如下条件:

$$ g_n=\sum_{i=0}^na_{ni}f_i $$

反演就是利用:$g_0,g_1,\dots,g_n$ 来表示 $f_i$

$$ f_n=\sum_{i=0}^nb_{ni}g_i $$

$\delta$ 函数

定义

$$ \delta_{i,j}=\begin{cases} 1,&i=j\\ 0,&i\not=j \end{cases} $$

柿子 (们)

yysy 柿饼是真的难吃(呕).

基本柿

$$ f_n=\sum_{i=0}^n(-1)^i\dbinom nig_i\Leftrightarrow g_n=\sum_{i=0}^n(-1)^i\dbinom nif_i $$

其中 $\dbinom ni$ 表示组合数 $\mathrm C_n^i$ 即 $n$ 个元素选 $i$ 个的方案数这点就不用再说了吧.

变形柿

$$ f_n=\sum_{i=0}^n\dbinom nig_i\Leftrightarrow g_n=\sum_{i=0}^n(-1)^{n-i}\dbinom nif_i\\ f_n=\sum_{i=n}^m\dbinom ing_i\Leftrightarrow g_n=\sum_{i=n}^n(-1)^{i-n}\dbinom inf_i $$

其实这几个柿子都是有证明的, 要用到上面的 $\delta$ 函数, 但是很复杂, 所以咕了.

owo

mo-ha