反演魔术---二项式反演
反演是一种将难化易常用的手段
一般来说, 它有如下形式:
\[f(n) = \sum_{i = 0}^na_{ni}g(i)\\
g(n) = \sum_{i=0}^nb_{ni}f(i)
\]
本质上来说, 反演是一个接线性方程组的过程
常见的反演有:
- 二项式反演
- 斯特林反演
- 莫比乌斯反演
- 单位根反演
二项式反演
形式一:
\[\ F(n)=\sum\limits_{i=0}^n(-1)^i\dbinom{n}{i}G(i)\\
G(n)=\sum\limits_{i=0}^n(-1)^i\dbinom{n}{i}F(i)
\]
形式二:
\[\ F(n)=\sum\limits_{i=0}^n\dbinom{n}{i}G(i)\\
G(n)=\sum\limits_{i=0}^n(-1)^{(n-i)}\dbinom{n}{i}F(i)
\]
形式三:
\[\ F(n)=\sum_{i=n}^N(-1)^i\dbinom{i}{n}G(i)\\
G(n)=\sum_{i=n}^N(-1)^i\dbinom{i}{n}F(i)
\]
形式四:
\[\ F(n)=\sum_{i=n}^N\dbinom{i}{n}G(i)\\
G(n)=\sum_{i=n}^N(-1)^{i-n}\dbinom{i}{n}F(i)
\]
比较常用的形式是二和四
下面证明形式二为例
引理:
\[\dbinom{n}{j}\dbinom{j}{i}\\
=\large{\frac{n!}{j!(n-j)!}\frac{j!}{i!(j-i)!}}\\
=\large{\frac{n!}{i!(n-i)!}\frac{(n-i)!}{(n-j)![(n-i)-(n-j)]!}}\\
=\large{\dbinom{n}{i}\dbinom{n-i}{n-j}}\\
\]
证明
\[\ F(n)=\sum_{i=0}^n\dbinom{n}{i}G(i)\\
\sum_{i=0}^n(-1)^{(n-i)}\dbinom{n}{i}F(i)\\
=\sum_{i=0}^n(-1)^{(n-i)}\dbinom{n}{i}\sum_{j=0}^i\dbinom{i}{j}G(j)\\
=\sum_{i=0}^nG(i)\sum_{j=i}^n(-1)^{(n-j)}\dbinom{n}{j}\dbinom{j}{i}\\
=\sum_{i=0}^nG(i)\sum_{j=i}^n(-1)^{(n-j)}\dbinom{n}{i}\dbinom{n-i}{i-j}\\
=\sum_{i=0}^n\dbinom{n}{i}G(i)\sum_{j=i}^n(-1)^{(n-j)}\dbinom{n-i}{i-j}\\
=\sum_{i=0}^n\dbinom{n}{i}G(i)\sum_{j=0}^{n-i}(-1)^{n-i-j}\dbinom{n-i}{j}\\
=\sum_{i=0}^n\dbinom{n}{i}G(i)(1-1)^{(n-i)}\\
=G(n)
\]
证毕!!!
应用: 错位排列
设\(f(i)\)为恰好有i位错位的方案数, $g(i) = i! $
\[\large{g(n) = n! = \sum_{i=0}^n}f(i) \dbinom ni
\]
枚举有几位错位,方案之和即为全排列
二项式反演得:
\[f(n) = \sum_{i=0}^n(-1)^{n-i}\dbinom ni g(i)\\
=\sum_{i=0}^n(-1)^{n-i} \frac {n!}{(n-i)!}\\
=n!\sum_{i=0}^n\frac{(-1)^i}{i!}
\]
是不是很奇妙
例题: 已经没有什么好害怕的了
当容斥系数为二项式反演系数时, 可以利用二项式反演加速
斯特林反演下次一定更新!