求极限limn→∞n1∑k=2nnlog2k1
转换为估计问题:我们要对Sn:=n+∑k=3nnlog2k1做估计,要求估计精度为o(n)。
1. 和的简单积分估计+分段估计
对于固定的n而言,函数f(x):=nlog2x1在区间[3,n]上单调减少,因此由1. 和的简单积分估计有k=3∑nnlog2k1=∫3nnlog2x1dx+O(nlog231+nlog2n1)=∫3nnlog2x1dx+o(n)因此我们现在的目标变成估计In:=∫3nnlog2x1dx精度要求依旧是o(n)。
- 积分估计相较于和的估计有什么特别的优势吗?否则为什么我们要把和的估计转换为积分的估计?因为积分估计可以进行变量替换,从而把难以估计的积分转换为容易估计的积分。下面的证明就能很好地体现这一点,当我们换元以后,我们就可以用简单的分段估计完成对积分的估计,这在换元之前是做不到的。
无论我们对原本离散的和,还是现在连续的积分的被求和/积分对象n1/log(x)做Taylor展开,我们都会遇到余项难以处理的问题。但是通过对积分做变量替换,这个问题可以被化解掉。
考虑变量替换x=ne−t,其中t∈[0,log(n)−log(3)]。于是dx=−ne−tdt,log2x=log2n−log(2)t于是nlog2x1=21−log(n)t1=2+O(log(n)t)此处需要log(n)t<c<1才能成立,因此分段估计是必要的。不妨分为两段:
- 第一段t∈J1:=[0,21log(n)−21log(3)],于是log(n)t<21因此有nlog2x1=2+O(log(n)t)于是这一段的积分为I1=∫t∈J1(2+O(log(n)t))(ne−t)dt=2n(1+O(1/n))+O(log(n)n)=2n+O(log(n)n)=2n+o(n)
- 第二段t∈J2:=[21log(n)−21log(3),log(n)−log(3)]这一段的被求和函数还可以写成nlog2x1ne−t=exp(Fn(t))其中Fn(t)=1−log(n)tlog(2)+log(n)−t这个函数在J2区间上先减少后增加,因此其最大值在端点取得。我们可以证明当n足够大的时候,最大值在区间右端点取得(即右端点的取值比左端点要大),此时的值为log(3)+log(3)log(2)log(n)于是我们对积分做逐项估计,得到∣I2∣≤exp[log(3)+log(3)log(2)log(n)]×21log(n)=O(nlog(3)log(2)log(n))=o(n)此外这里也能看出,求和指标从3开始是明智的选择。
综上所述I=2n+o(n)从而Sn=n+(2n+o(n))+o(n)=3n+o(n)