@
前言
准备期末考就不做题了吧。。。
填一点坑。
反演原理
为了下文方便,我们定义一个函数(U_{i,j}=[i=j]),其中([q]) 表示(q)成立时值为(1),反之值为(0)。
首先我们有一个数列(a),以及一个二元函数(f_{i,j}),以及一个已经知道的数列(b)。
(a)的生成法则为:(a_{i}=sumlimits_{j=0}^{i}f_{i,j}b_{j}①)
那么假如我们直到了(a),能不能通过类似得生成法则倒推回(b)呢(这也就意味着在这个生成法则上,任意一个(a)数列都对应着一个(b)数列,有点反函数的味道),这个过程就叫反演。
假定也有一个函数(g)。
那么(b_{i}=sumlimits_{j=0}^{i}g_{i,j}a_{j}②)
那么我们把(①)带入(②)中得:
(b_{i}=sumlimits_{j=0}^{i}g_{i,j}sumlimits_{k=0}^jf_{j,k}b_{k})
(b_{i}=sumlimits_{j=0}^{n}b_{j}sumlimits_{k=j}^{n}g_{i,k}f_{k,j}③)
那么,一个比较明显的事情就是如果两边需要相等的话,那么需要:
(sumlimits_{k=j}^ig_{i,k}f_{k,j}=U_{i,j})
那么能不能证明如果不满足这个就会爆掉???
如果(j=i)时(sumlimits_{k=j}^ig_{i,k}f_{k,j})不等于(1),那么直接其余(b)取(0),就可以让③不成立,同理,如果(j≠i)时,(sumlimits_{k=j}^ig_{i,k}f_{k,j})不等于(0),那么除(j)以外(b)都取(0),照样不行,所以只有满足上述式子,这条式子才能成立。
这个就是充要条件:
(∀i,j∈N且0≤j≤i,sumlimits_{k=j}^ig_{i,k}f_{k,j}=U_{i,j})
坑
当然,在参考资料的核心文章中提到了一个必要条件:
(∀i,j∈N且0≤j≤i,sumlimits_{k=j}^if_{i,k}g_{k,j}=U_{i,j})
但是我暂且没有找到这两条式子的关系。。。。是我太菜了。
二项式反演
公式1
一群神仙就想到了组合数跟这条式子不谋而合。
如果设定(f_{i,j}=(-1)^jC_{i}^{j},g_{i,j}=(-1)^jC_{i}^{j}),上述的式子竟然就可以完美的成立?
具体式子列出来:(a_{i}=sumlimits_{j=0}^{i}(-1)^jC_{i}^jb_{j}),那么(b_{i}=sumlimits_{j=0}^{i}(-1)^jC_{i}^ja_{j})。
那么这个式子要怎么去证明了?
其实就是证明:
(∀i,j∈N且0≤j≤i,sumlimits_{k=j}^i(-1)^{k+j}C_{i}^kC_{k}^j=U_{i,j})
运用恒等式:(C_{i}^kC_{k}^j=C_{i} ^{j}*C_{i-j}^{i-k})
变成:(C_{i}^jsumlimits_{k=j}^i(-1)^{k +j}C_{i-j}^{i-k})
发现(i-k)的范围在([0,i-j]),化成:
变成:(C_{i}^jsumlimits_{k=0}^{i-j}(-1)^{(i-k)+j}C_{i-j}^{k})
不难发现,在(i=j)时,式子等于(1),反之等于(0),成立。
证毕。
公式2
(a_{i}=sumlimits_{j=0}^{i}C_{i}^jb_{j}),那么(b_{i}=sumlimits_{j=0}^{i}(-1)^{i-j}C_{i}^ja_{j})。
这个证明利用公式1就行了,设(h_{i}=b_{i}*(-1)^i)。
那么(a_{i}=sumlimits_{j=0}^iC_{i}^jh_{j},frac{h_{i}}{(-1)^i}=sumlimits_{j=0}^i(-1)^jC_{i}^ia_{i})。
化简一下就可以证明完毕。
公式3
定义一个上界(limit)。
由于感觉把(i)换成(n)更加好看,所以换成(n)。
(a_{n}=sumlimits_{i=n}^{limit}C_{i}^nb_i),(b_{n}=sumlimits_{i=n}^{limit}(-1)^{i-n}C_{i}^na_{i})
这条式子看起来特别难证明,因为和上面的式子不一样,但是如果我们换一下形式呢?比如把(a,b)翻转一下:
(a_{limit-n}=sumlimits_{i=0}^{limit-n}C_{limit-i}^{n}b_{i}),(b_{limit-n}=sumlimits_{i=0}^{limit-n}(-1)^{limit-i-n}C_{limit-i}^{n}a_{i})
然后再用(k)代替(limit-n),那么(n=limit-k)。
(a_{k}=sumlimits_{i=0}^{k}C_{limit-i}^{limit-k}b_{i}),(b_{k}=sumlimits_{i=0}^{k}(-1)^{k-i}C_{limit-i}^{limit-k}a_{i})
也就是:
(a_{n}=sumlimits_{i=0}^{n}C_{limit-i}^{limit-n}b_{i}),(b_{n}=sumlimits_{i=0}^{n}(-1)^{n-i}C_{limit-i}^{limit-n}a_{i})
进一步化简:
(a_{n}=sumlimits_{i=0}^{n}C_{limit-i}^{limit-n}b_{i}),(b_{n}=sumlimits_{i=0}^{n}(-1)^{n-i}C_{limit-i}^{limit-n}a_{i})
这样子,就比较好证明了:
(g_{i,j}=(-1)^{i-j}C_{limit-j}^{limit-i},f_{i,j}=C_{limit-j}^{limit-i})
(∀i,j∈N且0≤j≤i,sumlimits_{k=j}^i(-1)^{i-k}C^{limit-i}_{limit-k}C_{limit-j}^{limit-k}=U_{i,j})
(sumlimits_{k=j}^i(-1)^{i-k}C^{limit-i}_{limit-k}C_{limit-j}^{limit-k}=C_{limit-j}^{limit-i}sumlimits_{k=j}^i(-1)^{i-k}C_{i-j}^{k-j}=C_{limit-j}^{limit-i}sumlimits_{k=j}^i(-1)^{i-k}C_{i-j}^{i-k}=C_{limit-j}^{limit-i}sumlimits_{k=0}^{i-j}(-1)^kC_{i-j}^k=U_{i,j})。
证毕。
参考资料
核心文章:http://blog.miskcoo.com/2015/12/inversion-magic-binomial-inversion
二项式反演的参考资料:
https://www.cnblogs.com/sdzwyq/p/9920531.html
https://www.cnblogs.com/lcyfrog/p/11772757.html
https://www.cnblogs.com/GXZlegend/p/11407185.html
坑
- 反演原理中关于两种条件他们之前的关系
- 我需要添加组合意义。