二项式反演学习笔记
这是一篇防遗忘的二项式反演证明博客
在此不给出精妙的容斥证明,开始推代数证明
众所周知二项式反演有两个形式
\(f(n) = \sum_{i = 0}^{n} (-1)^{i}\binom{n}{i}g(i) \Leftrightarrow g(n) = \sum_{i = 0}^{n} (-1)^{i} \binom{n}{i}f(i)\)
这个式子简直妙啊……太对称了
然而它更常用的形式是这个
\(f(n) = \sum_{i = 0}^{n}\binom{n}{i}g(i) \Leftrightarrow g(n) = \sum_{i = 0}^{n} (-1)^{n - i} \binom{n}{i} f(i)\)
我们来证明一下
证明反演的一般套路就是代入啦
\(f(n) = \sum_{i = 0}^{n} (-1)^{i}\binom{n}{i}g(i)\)
\(f(n) = \sum_{i = 0}^{n} (-1)^{i}\binom{n}{i}\sum_{j = 0}^{i} (-1)^{j} \binom{i}{j} f(j)\)
我们考虑更换枚举顺序
\(f(n) = \sum_{j = 0}^{n} \sum_{i = j}^{n} (-1)^{i + j} \binom{n}{i} \binom{i}{j} f(j)\)
如果只有j = n的时候,
\(\sum_{j = 0}^{n} \sum_{i = j}^{n} (-1)^{i + j} \binom{n}{i} \binom{i}{j}\)值为1的话,那么式子是成立的
(虽然在别的情况下例如加加减减之后也是f(n)但是这个式子就是有这样特殊的性质)
\(\binom{n}{i} \binom{i}{j} = \frac{n!}{i!(n - i)!}\cdot\frac{i!}{j!(i - j)!} = \frac{n!}{(n - j)!j!}\cdot\frac{(n-j)!}{(n - i)![(n - i) - (n - j)]!} = \binom{n}{j}\binom{n - j}{n - i}\)
\(\sum_{j = 0}^{n} \sum_{i = j}^{n} (-1)^{2 * n - i - j} \binom{n}{j}\binom{n - j}{n - i}\)
\(\sum_{j = 0}^{n} (-1)^{j} \binom{n}{j}\sum_{i = j}^{n} (-1)^{n - i}\binom{n - j}{n - i}\)
\(\sum_{j = 0}^{n} (-1)^{n - j} \binom{n}{j}\sum_{i = 0}^{n - j} (-1)^{i}\binom{n - j}{i}\)
显然在组合数之间相隔一个填一个不同的+-号,考虑杨辉三角,除了第一行,剩下的和全是0
那么就有
\(\sum_{j = 0}^{n} (-1)^{j} \binom{n}{j}[n == j]\)
只有当j = n的时候,值才是1,于是反演得证
对于第二种形式呢,可以也推出一个类似的式子
\(f(n) = \sum_{i = 0}^{n} (-1)^{i}\binom{n}{i}\sum_{j = 0}^{i} (-1)^{i - j} \binom{i}{j} f(j)\)
\(\sum_{j = 0}^{n} \sum_{i = j}^{n} (-1)^{i - j} \binom{n}{i} \binom{i}{j}\)
\(\sum_{j = 0}^{n} \sum_{i = j}^{n} (-1)^{2 * n - i + j} \binom{n}{j}\binom{n - j}{n - i}\)
\(\sum_{j = 0}^{n} (-1)^{n + j} \binom{n}{j}\sum_{i = j}^{n} (-1)^{n - i}\binom{n - j}{n - i}\)
\(\sum_{j = 0}^{n} (-1)^{n + j} \binom{n}{j}[n == j]\)
于是也可以得证
然后你会发现,这个东西写成矩阵是个下三角,按理来说,这个东西会有一个上三角形式,例如莫比乌斯反演
那么其实是有的
\(f(k) = \sum_{i = k}^{n} (-1)^{i}\binom{i}{k}g(i) \Leftrightarrow g(k) = \sum_{i = k}^{n} (-1)^{i} \binom{i}{k}f(i)\)
什么,也是那么对称的么
还有一个常用形式
\(f(k) = \sum_{i = k}^{n} \binom{i}{k}g(i) \Leftrightarrow g(k) = \sum_{i = k}^{n} (-1)^{i - k} \binom{i}{k}f(i)\)
然后再去证明
\(f(k) = \sum_{i = k}^{n} (-1)^{i}\binom{i}{k}g(i)\)
\(f(k) = \sum_{i = k}^{n} (-1)^{i}\binom{i}{k} \sum_{j = i}^{n} \binom{j}{i} f(j)\)
\(f(k) = \sum_{i = k}^{n} (-1)^{i}\binom{i}{k} \sum_{j = i}^{n} (-1)^{j} \binom{j}{i} f(j)\)
\(f(k) = \sum_{j = k}^{n} \sum_{i = k}^{j} (-1)^{i + j}\binom{i}{k} \binom{j}{i} f(j)\)
\(\binom{i}{k}\binom{j}{i} = \frac{i!}{k!(i - k)!}\frac{j!}{i!(j - i)!} = \frac{j!}{k!(j - k)!}\frac{(j - k)!}{(i - k)![(j - k) - (i - k)]!} = \binom{j}{k}\binom{j - k}{i - k}\)
\(f(k) = \sum_{j = k}^{n} \sum_{i = k}^{j} (-1)^{i + j - 2*k}\binom{j}{k}\binom{j - k}{i - k}\)
\(f(k) = \sum_{j = k}^{n} (-1)^{j - k}\binom{j}{k}\sum_{i = k}^{j} (-1)^{i - k}\binom{j - k}{i - k}\)
\(f(k) = \sum_{j = k}^{n} (-1)^{j - k}\binom{j}{k}\sum_{i = 0}^{j - k} (-1)^{i}\binom{j - k}{i}\)
\(f(k) = \sum_{j = k}^{n} (-1)^{j - k}\binom{j}{k}[k == j]\)
同理第二种形式也可以证明
\(f(k) = \sum_{j = k}^{n} \sum_{i = k}^{j} (-1)^{j - i}\binom{i}{k} \binom{j}{i} f(j)\)
\(f(k) = \sum_{j = k}^{n} \sum_{i = k}^{j} (-1)^{j - i - k + k}\binom{j}{k}\binom{j - k}{i - k} f(j)\)
\(f(k) = \sum_{j = k}^{n} (-1)^{j - k}\binom{j}{k}\sum_{i = k}^{j} (-1)^{k - i} \binom{j - k}{i - k} f(j)\)
\(f(k) = \sum_{j = k}^{n} (-1)^{j - k}\binom{j}{k}[j == k] f(j)\)