二项式反演理解与证明

二项式反演

  如果有(g_{i} = sum_{j = 1}^{i} inom{i}{j}f_{j} Longleftrightarrow f_{i} = sum_{j = 1}^{i}(-1)^{i - j} inom{i}{j}g_{j})
  证明:
  先将1式带入2式,得到
  $$f_{i} = sum_{j = 1}^{i}(-1)^{i - j} inom{i}{j}sum_{k = 1}^{j} inom{j}{k}f_{k}$$
  证明等式成立相当于证明对于等式右边而言,所有(f_{k})的系数为([i == k])
  则(f_{k})的系数为(sum_{j = k}^{i} (-1)^{i - j} inom{i}{j} inom{j}{k})
  化简:$$sum_{j = k}^{i}(-1)^{i - j} frac{i!}{j!(i - j)!} frac{j!}{k!(j - k)!}$$
  消去(j!),提出(frac{i!}{k!}),
  $$(sum_{j = k}^{i}(-1)^{i - j} frac{1}{(i - j)!(j - k)!}) frac{i!}{k!}$$
  乘((i - k)!),除((i - k)!),
  $$(sum_{j = k}^{i}(-1)^{i - j} frac{(i - k)!}{(i - j)!(j - k)!}) frac{i!}{k!(i - k)!}$$
  $$(sum_{j = k}^{i}(-1)^{i - j} inom{i - k}{j - k}) inom{i}{k}$$
  ---> 证:$$sum_{j = k}^{i}(-1)^{i - j} inom{i - k}{j - k} = [i == k]$$
  如果成立,则:当(i == k)时,(inom{i}{k} = 1),所以系数为1;当(i != k)时,前一个式子为0,所以系数为0.
  证明:
    当(i - k)为奇数时,相当于有(i - k + 1)个数相加(分别对应取0个,取1个...取i - k个),一共偶数个,其中第一项与最后一项异号,第二项与倒数第2项异号。。。根据组合数的对称性,和为0。
    当(i - k)为偶数时,相当于证:
    (inom{i}{0} - inom{i}{1} + inom{i}{2} - ... -inom{i}{i - 1} + inom{i}{i} = 0)
    二项式定理证明
      $$0^{n} = (1 - 1)^{n} = sum_{k = 0}^{n} inom{n}{k}x^{n - k}y^{k} = 0$$
      其中(x = 1, y = -1).
      则(x^{n - k})恒为1,(y^{k} = +1, -1, +1, -1 ....)
      因此原式成立
    组合数证明(杨辉三角)
      原式 = (inom{i - 1}{0} - (inom{i - 1}{0} + inom{i - 1}{1})......)
      因此最后每一项都被抵消了,所以原式 = 0;
  二项式反演还有另一种形式:
    $$g_{i} = sum_{j = 1}^{i}(-1)^{j} inom{i}{j} f_{j} Longleftrightarrow f_{i} = sum_{j = 1}^{i}(-1)^{j} inom{i}{j}g_{j}$$
    这种性质可以用容斥来理解(非证明)。
    因为可以把(f_{j})看做是满足某个性质的一个由i个集合组成的小集合,并且每个这样的小集合都是相等的。因此(inom{i}{j})就等于这样的集合个数,而((-1)^{j})是容斥系数,因为进行了容斥,所以(g_{i})可以看做是不满足某个性质的一个由i个集合组成的小集合,因此用(g_{i})(f)数组时,也是一样的容斥方式。
  应用:
    错排问题:设(f_{i})表示恰好有(i)个数不在原位的方案数,(g_{i} = i!)
    那么有
    $$g_{n} = sum_{i = 0}^{n} inom{n}{i} f_{i}$$
    根据二项式反演得:
    $$f_{n} = sum_{i = 0}^{n}(-1)^{n - i} inom{n}{i}g_{i}$$
    $$f_{n} = sum_{i = 0}^{n}(-1)^{n - i} inom{n}{i}i!$$
    $$f_{n} = sum_{i = 0}^{n}(-1)^{n - i} 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} inom{k}{i} f_{i}$$
    反演后:
    $$f_{k} = sum_{i = 0}^{k} inom{k}{i} g_{i}$$
    $$f_{k} = sum_{i = 0}^{k} inom{k}{i} i(i - 1)^{n - 1}$$

原文地址:https://www.cnblogs.com/ww3113306/p/10114679.html