差分表

差分表是一种用于序列分析的数学工具,通过构造不同阶的差分序列,能够简化序列的求和计算。文章介绍了差分序列的定义、性质,包括线性性和与序列通项的关系,并证明了差分表中所有元素可以通过第一条对角线确定。此外,通过引理展示了差分表如何在求和问题上降低时间复杂度,将原本O(n)的复杂度降低到O(p^2),从而提高计算效率。

定义

对于一个序列
a0,a1,...,an,...

定义一个新的序列
Δa0,Δa1,...,Δan,...

其中
Δai=ai+1ai

那么我们新定义的这个序列{Δan}称序列{an}的(一阶)差分序列

类似的,我们可以构造序列{Δan}的二阶、三阶…k阶差分序列。
不妨记为{Δ2an},...,{Δkan}

而原序列的差分表,则是由每个p=0,1,...,k排成k行形成的表。p阶差分序列在行p上,原序列在第0行。


性质

  • 令序列的通项是关于n的一个p次多项式,即
    fn=pi=0ainp
    n>=0,Δp+1an=0
    证明使用归纳法即可。
  • 差分的线性性
    倘若fn=k1gn+k2hn,则有p,n,Δpfn=k1Δpgn+k2Δphn
    从定义去证明即可。
  • 一个差分表中的所有元素可以由它的第一条对角线确定下来。
    这个有点类似于泰勒展开的离散形式。
  • 若某个序列fn的差分表的第一条对角线为
    c0,c1,...,cp,0,...
    则序列的通项满足fn=pi=0ci(ni)
    证明:不妨考虑一个最简单的形式。
    设某个差分表的第一条对角线为0,...,0,1,0,...,它的特点是第 一条对角线上只有第p个数为1,其他都为0
    那么这个差分表对应的原数列f则为0,...,0,1,0,...,其中除fp=1以外其他项都为0
    由此我们可以写出这个序列的一个通项公式
    fn=c(n)(n1)(n2)...(np+1)
    其中c是某个常数。代入fp=1,得到c=1p!
    于是乎我们得到fn的通项公式
    fn=nj=np+1jp!=n!p!(np)!=(np)
    那么根据差分的线性性,对于任意一个差分表我们都可以分拆成若干个只有一个1的差分表的线性组合。把这所有的通项式结合起来我们就可以得到
    fn=pi=0ci(ni)

在求和上的应用

看了上面一堆的式子以后,似乎差分表的作用还没有体现出来。
但是结合以下的这个结论,差分表就在求和问题上显得尤为有效了。

引理:pi=0(ni)=(n+1p+1)
证明只需要不断按照(nm)=(nm1)+(n1m1)展开右式即可得到左式。

那么假如我们现在要求
ni=0fi

首先用O(p2)的时间计算出差分表,取出第一条对角线上的元素ci,则有
ni=0fi=ni=0pj=0cj(ij)=pj=0cjni=0(ij)=pj=0cj(n+1p+1)

成功地将O(n)的求和时间复杂度降到了O(p2)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值