定义
对于一个序列
a0,a1,...,an,...
定义一个新的序列
Δa0,Δa1,...,Δan,...
其中
Δai=ai+1−ai
那么我们新定义的这个序列{Δan}称序列{an}的(一阶)差分序列
类似的,我们可以构造序列{Δan}的二阶、三阶…k阶差分序列。
不妨记为
而原序列的差分表,则是由每个p=0,1,...,k排成k行形成的表。
性质
- 令序列的通项是关于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)(n−1)(n−2)...(n−p+1)
其中c是某个常数。代入fp=1 ,得到c=1p!
于是乎我们得到fn的通项公式
fn=∏nj=n−p+1jp!=n!p!(n−p)!=(np)
那么根据差分的线性性,对于任意一个差分表我们都可以分拆成若干个只有一个1的差分表的线性组合。把这所有的通项式结合起来我们就可以得到
fn=∑pi=0ci(ni)
在求和上的应用
看了上面一堆的式子以后,似乎差分表的作用还没有体现出来。
但是结合以下的这个结论,差分表就在求和问题上显得尤为有效了。
引理:∑pi=0(ni)=(n+1p+1)
证明只需要不断按照(nm)=(nm−1)+(n−1m−1)展开右式即可得到左式。
那么假如我们现在要求
∑ni=0fi
首先用O(p2)的时间计算出差分表,取出第一条对角线上的元素ci,则有
∑ni=0fi=∑ni=0∑pj=0cj(ij)=∑pj=0cj∑ni=0(ij)=∑pj=0cj(n+1p+1)
成功地将O(n)的求和时间复杂度降到了O(p2)
差分表是一种用于序列分析的数学工具,通过构造不同阶的差分序列,能够简化序列的求和计算。文章介绍了差分序列的定义、性质,包括线性性和与序列通项的关系,并证明了差分表中所有元素可以通过第一条对角线确定。此外,通过引理展示了差分表如何在求和问题上降低时间复杂度,将原本O(n)的复杂度降低到O(p^2),从而提高计算效率。
3055

被折叠的 条评论
为什么被折叠?



