反演魔术---二项式反演
Posted hs-black
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了反演魔术---二项式反演相关的知识,希望对你有一定的参考价值。
反演是一种将难化易常用的手段
一般来说, 它有如下形式:
[
f(n) = sum_{i = 0}^na_{ni}g(i)g(n) = sum_{i=0}^nb_{ni}f(i)
]
本质上来说, 反演是一个接线性方程组的过程
常见的反演有:
- 二项式反演
- 斯特林反演
- 莫比乌斯反演
- 单位根反演
二项式反演
形式一:
[ F(n)=sumlimits_{i=0}^n(-1)^idbinom{n}{i}G(i)G(n)=sumlimits_{i=0}^n(-1)^idbinom{n}{i}F(i) ]
形式二:
[ F(n)=sumlimits_{i=0}^ndbinom{n}{i}G(i)G(n)=sumlimits_{i=0}^n(-1)^{(n-i)}dbinom{n}{i}F(i) ]
形式三:
[ F(n)=sum_{i=n}^N(-1)^idbinom{n}{i}G(i)G(n)=sum_{i=0}^N(-1)^idbinom{n}{i}F(i) ]
形式四:
[ F(n)=sum_{i=n}^Ndbinom{n}{i}G(i)G(n)=sum_{i=0}^N(-1)^{i-n}dbinom{n}{i}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}^ndbinom{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}^idbinom{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}^ndbinom{n}{i}G(i)sum_{j=i}^n(-1)^{(n-j)}dbinom{n-i}{i-j}=sum_{i=0}^ndbinom{n}{i}G(i)sum_{j=0}^{n-i}(-1)^{n-i-j}dbinom{n-i}{j}=sum_{i=0}^ndbinom{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}^nfrac{(-1)^i}{i!}
]
是不是很奇妙
例题: 已经没有什么好害怕的了
当容斥系数为二项式反演系数时, 可以利用二项式反演加速
斯特林反演下次一定更新!
以上是关于反演魔术---二项式反演的主要内容,如果未能解决你的问题,请参考以下文章