二项式系数及其反演
二项式系数&二项式定理
了解标题之前,我们先要花一些时间复习一下普通的二项式系数:
(nk)=Γ(n+1)Γ(k+1)Γ(n−k+1)
我们对它研究得非常多,例如经典的二项式定理:
(x+y)n=(n0)xny0+(n1)xn−1y1+(n2)xn−2y2+⋯+(nn−1)x1yn−1+(nn)x0yn
写成和式的形式,也就是
(x+y)n=n∑k=0(nk)xn−kyk=n∑k=0(nk)xkyn−k
证明挺简单的,想必大家都会,这里不会的可以来谈人生了QwQ
广义二项式定理
这玩意怎么推广?
(x+y)α=∞∑k=0(αk)xα−kyk
第一种证明
证明也非常简单
它可以看成(1+x)α的幂级数展开
显然函数当α>0的时候是analytic的,所以可以通过多次求导得到幂级数中的项:
f(x)=∑n≥0f(n)(0)n!xn
令f(x)=(1+x)α,多次求导可得
f(n)(x)=α(α−1)⋯⋯(α−n+1)(1+x)a−n
当然这个只对α>0有效,对于其它情况,可以用幂级数倒数的性质来证明。
这个证明可能用的定理太高级,其实还是组合式的比较好,但是可能就比较长就是了……
第二种证明
还是原来的函数f(x),假定它能展开成幂级数f(x)=∑n≥0anxn
然后我们无比震惊地发现它满足如下的微分方程:
(1+x)f′(x)=αf(x),f(0)=1
这个微分方程又可以写成系数之间的递推式:
a0=1,∑n≥0((n+1)an+1+nan)x=∑n≥0αanxn
然后就有
a0=1,∀n,nan=(α−n−1)an+1
然后解递推方程咯…..
如果你还是看不懂,可以去维基百科看详细过程解答。
组合证明
百度百科-二项式定理上面有写,如果你这个都看不懂说明你废了。。
二项式定理的一些小应用
- 当然是帮助证明东西
证明组合恒等式:
比如证明
n∑k=0(nk)2=(2nn)可以考虑恒等式
(1+x)n(1+x)n=(1+x)2n然后证明就很显然了
证明自然数幂求和公式:
我没有看懂(留坑),但是有一篇博客系统地讲述了自然数幂和的各种求法:解决自然数幂和的方法
二项式反演!
前置定义&定理
设x为任意复数,n是非负整数
对于广义二项式系数(xn),有Vandermonde卷积公式:
(x+yn)=n∑k=0(xk)(yn−k)以及展开形式(expand form)
(1+t)x=∞∑n=0(xn)tn,(1−t)−x=∞∑n=0〈xn〉tn其中⟨xn⟩=x(x+1)⋯(x+n−1)n!
且有
〈x+yn〉=n∑k=0〈xk〉〈yn−k〉- 定义1
x为任意数,n+1阶矩阵Pn[x],Qn[x],Dk(k∈N∗)分别定义
(Pn[x])ij={(xi−j),i≥j0otherwise(Qn[x])ij={〈xi−j〉,i≥j0otherwise(Dk)ij={1,i=j+k0,otherwise显然,Pn[0]=Qn[0]=D0=In+1(In+1阶单位矩阵)。设D1=D,那么Dk=Dk,k∈N∗。设(x)k=Γ(x+1)Γ(k+1),⟨x⟩k=Γ(x+k)Γ(x),由矩阵乘法和Stirling数的性质,我们得到了一个定理:
- 定理1
x为任意数,则有
Pn[x]=n∑k=0(xk)Dk=n∑k=0(x)kΓ(k+1)Dk=n∑k=0n∑i=k[ik]Γ(i+1)Dixk,Qn[x]=n∑k=0〈x〉kΓ(k+1)Dk=n∑k=0n∑i=k(−1)i+k[ik]Γ(i+1)Dixk其中[nk]是第一类无符号Stirling数。
- 定理2
∀x,y∈R,则有Pn[x+y]=Pn[x]Pn[y],Qn[x+y]=Qn[x]Qn[y].
证明:当i≥j时,
(Pn[x]Pn[y])ij=i∑k=j(xi−k)(yk−j)=(x+yi−j)=(Pn[x+y])ij推论:∀x,y∈R,m∈Z,有Pn[x]−1=Pn[−x],Pn[x]m=Pn[mx],Pn[x]=Pn[xm]m.
- 定义2
∀x,y∈R,n+1阶矩阵Pn[x,y],Qn[x,y]分别定义为
(Pn[x,y])ij={(xi−j)yi−j0,i≥j;(Qn[x,y])ij={〈xi−j〉yi−j0,i≥j.- 定理3
∀x,y,z∈R,m∈Z,有
{Pn[x,z]Pn[y,z]=Pn[x+y,z],Qn[x,z]Qn[y,z]=Qn[x+y,z].{Pn[x,y]m=Pn[mx,y],Qn[x,y]m=Qn[mx,y].即
{Pn[x,y]−1=Pn[−x,y],Pn[x,1]=Pn[x],Pn[0,1]=In+1;Qn[x,y]−1=Qn[−x,y],Qn[x,1]=Qn[x],Qn[0,1]=In+1.反演开始!
还记得上面的推论吗?我们由它可以得到如下定理:
- 定理4
∀x,y∈R,设{an}n≥0={an(x,y)}n≥0和{bn}n≥0={bn(x,y)}n≥0为两个函数序列
那么我们有
an(x,y)=n∑k=0(xk)bn−k(x,y)⇔bn(x,y)=n∑k=0(−xn−k)an−k(x,y)也就是
an(x,y)=n∑k=0(xn−k)bn−k(x,y)⇔bn(x,y)=n∑k=0(−xn−k)an−k(x,y)证明:
设a=(a0,a1,⋯,an)T,b=(b0,b1,⋯,bn)T,注意到a=Pn[x]⇔b=Pn[−x]
即
ai=i∑j=0(xi−j)bj⇔bi=i∑j=0(−xi−j)aj我们的二项式反演公式也就很明白了:
令{an}n≥0和{bn}n≥0是两个数列,s为非负整数,∀n≥s,有
an=n∑k=s(nk)bk则有
bn=n∑k=s(−1)n−k(nk)ak好啦~ 反演到此为止,下面是娱乐环节!
一些神奇的恒等式变换
- 如果你连基本恒等式都看不懂,说明你需要补习数学。
神奇变换1
有恒等式
n∑k=0(xk)yk=n∑k=0(n−xk)(1+y)n−k(−y)k作变换:
n∑k=0(xk)yn−k=n∑k=0(−x)k(n−xk)(1+y)n−k⋯⋯Tip:replace y with 1y令
bn−k=yn−k,an=n∑k=0(−1)k(n−xk)(1+y)n−k,则有
n∑k=0n−k∑i=0(−1)i(−xk)(n−k−xi)(1+y)n−k−i=yn⋯⋯Tip:Use the Inversion Formula神奇变换2
有恒等式
n∑k=0(−1)k(n+xn−k)11+k=(Bn(x)+nn),其中Bn(x)是Bernouli多项式
变形为:
n∑k=0(xn−k)(−1)k1+k=(Bn(x−n)+nn)令bk=(−1)k1+k,an=(Bn(x−n)+nn)
我们在反演公式2中进行变换
有
n∑k=0(−xn−k)(Bk(x−k)+kk)=(−1)n1+n神奇变换3
有恒等式
n−1∑k=0(zk)xn−k−1=n∑k=1(z−kn−k)(x+1)k−1通过反演,得出:
n∑k=0(−xk)n−k∑i=0(x−i−1n−k−i)(z+1)=zn神奇变换4
有恒等式
n−1∑k=0(zk)xn−kn−k=n∑k=1(z−kn−k)(x+1)k−1k通过反演,得出
n∑k=0(−zk)n−k∑i=0(z−i−1n−k−i)(x+1)i+1−1i+1=xn+1n+1总结
我们全文讨论了许多关于二项式系数的问题。二项式系数的恒等式可能远不止这些,还需要我们去发掘。
我们可以看到在恒等式变换部分,许多式子最终的形式都是非常美妙简洁的。在OI中,可以帮助加速运算。
参考资料
[1], Wikipedia, 二项式定理
[2], Wikipedia, Binomial theorem
[3], Miskcoo’s Space , 反演魔术:反演原理及二项式反演
[4], creatorx ,二项式反演公式
[5], Wolframmathworld, Binomial theorem
[6], Peoplesju, The Generalized Binomial Theorem
[7], Concrete Mathematics, 二项式系数