求和相关知识整理

摘自 8 月 13 号的讲课内容。

一、直接方式(Direct Methods)

1. 下标变换(Index Transformation)

计算 i=lrai 时,可以通过下标变换的思路将其转为 i=lkrkai+k,例如 i=0rlal+ii=0rlari

例1:计算 k=0na×k

解:记 S=k=0na×k。由于 k=0na×k=k=0na×(nk),故 2S=k=0na×nS=12n(n+1)a

例2:计算 1ijnaiaj

解:记 S=1ijnaiaj,则 2S=1i,jnaiaj+i=1nai2=(i=1nai)2+i=1nai2S=12((i=1nai)2+i=1nai2)

2. 归纳法(Induction)

例3:计算 k=1n(2k1)

解:猜想 k=1n(2k1)=n2。此时 k=1n+1(2k1)=n2+(2n+1)=(n+1)2,符合猜想;而 k=11(2k1)=1=12。因此 k=1n(2k1)=n2

例4:求证 n,i,ai0 时有 i=1nai(1ni=1nai)n

解:令 P(n)=[i=1nai(1ni=1nai)n]。首先 P(1) 显然成立(a1a1),同时由于 (12(a1+a2))2=14(a1+a2)2,所以 (12(a1+a2))2a1a2=14(a1a2)20P(2) 成立。

P(n) 成立时,考虑 an=1n1i=1n1ai 的情况。此时 1ni=1nai=1n1i=1n1ai=an,则 P(n) 成立时有 an×i=1n1aiann,故 i=1n1ai(1n1i=1n1ai)n1P(n1) 成立。

然后考虑 P(n) 成立时 P(2n) 的情况。此时 i=1nai(1ni=1nai)ni=n+12nai(1ni=n+12nai)n;所以 i=12nai((1ni=1nai)(1ni=n+12nai))n。而由 P(2)(1ni=1nai)(1ni=n+12nai)(12ni=12nai)2,所以 i=12nai((1ni=1nai)(1ni=n+12nai))n(12ni=12nai)2n

综上,如果 P(i) 成立则 P(i1) 成立(进而 j<i,P(j) 成立),并且 P(2i) 成立(进而 j,P(2ji) 成立),所以 n,可以从 P(1) 成立推导到 P(2log2n) 成立,进而 P(n) 成立。

3. 错位相减(Isolating)

此时可以把和式的最前面的项和最后面的项拿出来,消掉其他的项。

例5:求 k=0nak

解:记 S=k=0nak,则 aS=k=1n+1ak,从而 (a1)S=(an+1+k=1nak)(1+k=1nak)=an+11S=an+11a1

例6:求 k=0n2kk

解:记 S=k=0n2kk,则 2S=k=0n2k+1k2S+k=1n+12k=k=1n+12kk,故 S=2n+1(n+1)k=1n+12k=2n+1(n+1)2n+2+2=2n+1(n1)+2

4. 求和因子(?)(Summation Factor)

用于解决形如 anTn=bnTn1+cn(n>0) 的“变系数线性递推”的内容。

考虑构造等差数列以求 an。设 Sn=dnanTn=dn(bnTn1+cn)=dnbnTn1+dncn。此时我们需要 dnbnTn1=Sn1,则 dnbn=dn1an1,然后 dn=dn1an1bn=dn2an1an2bnbn1==i=1n1aii=1nbi(这里设 S0=T0,d0=a0=1)。此时 Tn=Sndnan=1dnan(T0+i=1ndici)

例7:错排问题(已知 D1=0,D2=1,求 Dn=(n1)(Dn1+Dn2)

解:考虑把 DnDn1 绑定起来,则 DnnDn1=Dn1+(n1)Dn2=(Dn1(n1)Dn2)。设 Sn=DnnDn1,则 S2=1Sn=(1)n。所以 Dn=nDn1+(1)n,按照上述的推导过程,令 D0=D1(1)1=1;则上述的 dn=1n!,进而 Dn=n!(1+i=1n(1)ii!)=n!(i=0n(1)ii!)

二、有限微积分(The Calculus of Finite Differences)

某些时候形如 i=abfi 的形式容易使人联想到 abf(x)dx,这启发我们在序列上寻找微积分的一些性质。类似函数中的微分算子 Df(x)=D(x+Δx)D(x)Δx,我们可以在序列 f 上定义其他一些算子。定义移位算子 E:fxfx+1,差分算子 ΔEI(其中 I 为恒等算子,f,I:fxfx)(Δfxfx+1fx)。同理可定义 Ei:fxfx+i=IE1:fxfxfx1),Δi=(EI)i=j=0i(1)ijEj(ij)i 阶差分)(Δi:fxj=0i(1)ijfx+j(ij))。

设序列 g 为序列 f 的差分序列(gx=Δfx),则 ingi=fn,i=abgi=fb+1fa

例8:求 xn_

对于序列 xn_,有 (x+1)n_xn_=i=0n1(x+1i)i=0n1(xi)=(i=0n2(xi))((x+1)(xn+1))=ni=0n2(xi)=nxn1_。这个形式和 (xn)=nxn1 很类似。(而 Δ2x=2x(ex)=ex 又很相似)同理可证 xn¯=nxn1¯。考虑 xn_n<0 时的意义。由于 xn_xn1_=xn+1,x0_=1,故 xn_=1i=1n(x+i)。此时 n<0 时,Δxn_=(x+1)n_xn_=1i=1n(x+1+i)1i=1n(x+i)=1i=2n+1(x+i)1i=1n(x+i)=x+1i=1n+1(x+i)x+1ni=1n+1(x+i)=n1i=1n+1(xi)=nxn1_,仍然满足 n>0Δxn_ 的式子。同理 nZ,xn¯=n(x+1)n1¯

然后考虑求和。由 Δxn=nxn1 可得 xn=1n+1xn+1;按照类似的思路可得 xn_=1n+1(x+1)n+1_

例9:求 k=0nk2

解:考虑 k2=k(k1)+k,则 k=0nk2=(k=0nk2_)+(k=0nk1_)=13(n+1)3_+12(n+1)2_=13(n+1)n(n1)+12(n+1)n=16n(n+1)(2(n1)+3)=16n(n+1)(2n+1)

同理,由于 kz=i=0zS(z,i)ki_(其中 S(z,i)第二类斯特林数,表示将 n 个两两不同的元素,划分为 k 个互不区分的非空子集的方案数。考虑组合意义,ki_=i!(ki),则 kz 为将 k 个两两不同的元素划分至 z 个两两不同的可以为空的子集内的方案数,S(z,i)i!(ki) 即为选择 i 个非空子集,将 k 个元素放入 i 个子集中,子集两两区分的方案数),k=0n(i=0zaiki) 也可以拆成 k=0n(i=0z(ai(j=0iS(i,j)kj_))) 进行计算。

1. 分部求和(Summation by Parts)

分部求和的名字来源于分部积分。

差分算子 Δ 满足 Δkfx=kΔfxΔ(fx+gx)=(Δfx)+(Δgx)。考虑乘法的时候 Δ(fxgx)=fx+1gx+1fxgx=fx+1gx+1fxgx+1+fxgx+1fxgx=gx+1(fx+1fx)+fx(gx+1gx),故 Δ(fg)=EgΔf+fΔg,进而有 fΔg=Δ(fg)EgΔf,fΔg=fgEgΔf

例10:求 k=0nk2k

解:考虑 Δ2x=2x,所以 x2x 可以看成 xΔ2x,然后求和即为 (n+1)2n+1k=0n2k+1=(n+1)2n+12n+2+2=(n1)2n+1+2

例11:求 k=1nHk(其中 Hx 为调和级数,也就是 i=1x1i

解:设 gx=xfx=Hx,则

k=1nHk=k=1nfkΔgk=(fn+1gn+1f1g1)k=1ngk+1(fk+1fk)=(n+1)Hn+11k=1n(k+1)1k+1=(n+1)(Hn+11)

例12:求 k=1n(km)Hk,其中 m 为常数

解:设 Δgx=(xm)fx=Hx,考虑 (x+1m+1)(xm+1)=(xm),则 gx=(xm+1)。代入上式得:

k=1n(km)Hk=k=1nfkΔgk=(fn+1gn+1f1g1)k=1ngk+1(fk+1fk)=(n+1m+1)Hn+1(1m+1)k=1n(k+1m+1)1k+1=(n+1m+1)Hn+1(1m+1)1m+1k=1n(km)=(n+1m+1)Hn+1(1m+1)1m+1(n+1m+1)+1m+1(1m+1)

考虑 (1m+1)1m+1(1m+1) 这两项。如果 m=0 则两项均为 1,否则两项均为 0。所以上式还可以化简为 (n+1m+1)(Hn+11m+1)

2. 牛顿级数(Newton Representation)


引入:泰勒展开

考虑使用某个多项式逐步逼近某个函数的过程。设该多项式为 f(x)=i=0naixi,则 Df(x)=i=0n1ai+1(i+1)xi。此时可以使用在该函数上某个点的若干阶导数以逼近该函数。

例如取 x=0 时的无穷阶导数时,f(0)=i=0nai0i=a0=0!a0Df(0)=i=1naii1_0i1=1!a1D2f(0)=i=2naii2_0i2=2!a2,依次类推可得 Dkf(0)=k!ak,反推得该多项式为 i=0Dif(0)i!xi


使用下降幂时,xi_(x1)i_ 比使用普通幂时 xi(x1)i 更方便表示。考虑使用形如 f(x)=i=0bixi_ 的形式以代替上述的 i=0aixi。显然我们可以从高到低唯一地确定 b 的每一项。先考虑 Δkxn_=Δk1nxn1_=Δk2n(n1)xn2_==nk_xnk_,进而 Δkxk_=k!。此时 Δkf(0)=i=kbiik_0ik_=bii!。进而对于某个 f,我们可以使用形如 i=0Δif(0)i!xi_ 以逼近 f(x),称为多项式的牛顿级数。

三、容斥和反演

posted @   Fran-Cen  阅读(105)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示