二项式反演理解与证明
二项式反演
如果有\(g_{i} = \sum_{j = 1}^{i} \binom{i}{j}f_{j} \Longleftrightarrow f_{i} = \sum_{j = 1}^{i}(-1)^{i - j} \binom{i}{j}g_{j}\)
证明:
先将1式带入2式,得到
$$f_{i} = \sum_{j = 1}{i}(-1) \binom{i}{j}\sum_{k = 1}^{j} \binom{j}{k}f_{k}$$
证明等式成立相当于证明对于等式右边而言,所有\(f_{k}\)的系数为\([i == k]\)
则\(f_{k}\)的系数为\(\sum_{j = k}^{i} (-1)^{i - j} \binom{i}{j} \binom{j}{k}\)
化简:$$\sum_{j = k}{i}(-1) \frac{i!}{j!(i - j)!} \frac{j!}{k!(j - k)!}$$
消去\(j!\),提出\(\frac{i!}{k!}\),
$$(\sum_{j = k}{i}(-1) \frac{1}{(i - j)!(j - k)!}) \frac{i!}{k!}$$
乘\((i - k)!\),除\((i - k)!\),
$$(\sum_{j = k}{i}(-1) \frac{(i - k)!}{(i - j)!(j - k)!}) \frac{i!}{k!(i - k)!}$$
$$(\sum_{j = k}{i}(-1) \binom{i - k}{j - k}) \binom{i}{k}$$
---> 证:$$\sum_{j = k}{i}(-1) \binom{i - k}{j - k} = [i == k]$$
如果成立,则:当\(i == k\)时,\(\binom{i}{k} = 1\),所以系数为1;当\(i != k\)时,前一个式子为0,所以系数为0.
证明:
当\(i - k\)为奇数时,相当于有\(i - k + 1\)个数相加(分别对应取0个,取1个...取i - k个),一共偶数个,其中第一项与最后一项异号,第二项与倒数第2项异号。。。根据组合数的对称性,和为0。
当\(i - k\)为偶数时,相当于证:
\(\binom{i}{0} - \binom{i}{1} + \binom{i}{2} - ... -\binom{i}{i - 1} + \binom{i}{i} = 0\)
二项式定理证明:
$$0^{n} = (1 - 1)^{n} = \sum_{k = 0}^{n} \binom{n}{k}x^{n - k}y^{k} = 0$$
其中\(x = 1, y = -1\).
则\(x^{n - k}\)恒为1,\(y^{k} = +1, -1, +1, -1 ....\)
因此原式成立
组合数证明(杨辉三角)
原式 = \(\binom{i - 1}{0} - (\binom{i - 1}{0} + \binom{i - 1}{1})......\)
因此最后每一项都被抵消了,所以原式 = 0;
二项式反演还有另一种形式:
$$g_{i} = \sum_{j = 1}{i}(-1) \binom{i}{j} f_{j} \Longleftrightarrow f_{i} = \sum_{j = 1}{i}(-1) \binom{i}{j}g_{j}$$
这种性质可以用容斥来理解(非证明)。
因为可以把\(f_{j}\)看做是满足某个性质的一个由i个集合组成的小集合,并且每个这样的小集合都是相等的。因此\(\binom{i}{j}\)就等于这样的集合个数,而\((-1)^{j}\)是容斥系数,因为进行了容斥,所以\(g_{i}\)可以看做是不满足某个性质的一个由i个集合组成的小集合,因此用\(g_{i}\)求\(f\)数组时,也是一样的容斥方式。
应用:
错排问题:设\(f_{i}\)表示恰好有\(i\)个数不在原位的方案数,\(g_{i} = i!\)
那么有
$$g_{n} = \sum_{i = 0}^{n} \binom{n}{i} f_{i}$$
根据二项式反演得:
$$f_{n} = \sum_{i = 0}{n}(-1) \binom{n}{i}g_{i}$$
$$f_{n} = \sum_{i = 0}{n}(-1) \binom{n}{i}i!$$
$$f_{n} = \sum_{i = 0}{n}(-1) \frac{n!}{(n - i)!}$$
改成枚举\(n - i\)
$$= n!\sum_{i = 0}^{n} \frac{(-1)^{i}}{i!}$$
注意:这里只能保证反演后的式子满足最初的式子,但因为只用到了原来的那个式子,并不一定可以满足所有可以满足第一个式子的\(f_{i}\)的含义。如用\(f_{i}\)表示恰好\(i\)个数在原位的方案数,那么式子还是一样的,但现在反演后的式子与这个\(f_{i}\)的定义相违背。
球的染色问题:n个球,k种颜色,求满足相邻颜色不同,每种颜色至少出现一次的方案数。
如果忽略每种颜色至少出现一次的限制的话,方案数就为\(k(k - 1)^{n - 1}\),相当于依次安排颜色,对于任意一个非第一个的球,都需要保证与上一个球的颜色不同,因此方案数为\(k - 1\),第一个球因为没有限制,所以方案数为\(k\)
设\(f_{i}\)表示恰好使用i种颜色的方案数。\(g_{k}\)表示n个球,用了k种颜色,不强制每种颜色必须出现的方案数。那么问题就是要求\(f_{n}\)
因为不强制每种颜色必须出现的方案数就是出现i(0, 1, 2, 3, 4...)种颜色的方案数之和。所以:
$$g_{k} = k(k - 1)^{n - 1} = \sum_{i = 0}^{k} \binom{k}{i} f_{i}$$
反演后:
$$f_{k} = \sum_{i = 0}^{k} \binom{k}{i} g_{i}$$
$$f_{k} = \sum_{i = 0}^{k} \binom{k}{i} i(i - 1)^{n - 1}$$