特征方程法解一阶线性代数递推式
数列{ana_nan}满足a1=b,an+1=can+da_1=b,a_{n+1}=ca_n+da1=b,an+1=can+d,求该数列的通项公式
针对递推关系式作出一个特征方程x=cx+dx=cx+dx=cx+d
定理:设上述递推关系式的特征方程根为x0x_0x0
- 当x0=a1x_0=a_1x0=a1时,an=a1a_n=a_1an=a1
- 当x0≠a1x_0\neq a_1x0=a1时,an=bn+x0,bn=b1cn−1,b1=a1−x0a_n=b_n+x_0,b_n=b_1c^{n-1},b_1=a_1-x_0an=bn+x0,bn=b1cn−1,b1=a1−x0
证明2:
∵c≠0,1\because c\neq 0,1∵c=0,1
得x0=d1−cx_0=\frac{d}{1-c}x0=1−cd
作换元bn=an−x0b_n=a_n-x_0bn=an−x0,
∴bn+1=an+1−x0=can+d−d1−c=can−cd1−c=c(an−x0)=cbn\therefore b_{n+1}=a_{n+1}-x_0=ca_n+d-\frac{d}{1-c}=ca_n-\frac{cd}{1-c}=c(a_n-x_0)=cb_n∴bn+1=an+1−x0=can+d−1−cd=can−1−ccd=c(an−x0)=cbn
特征方程法解二阶线性代数递推式
有数列{ana_nan},递推公式为an+2=pan+1+qan,a1=α,a2=βa_{n+2}=pa_{n+1}+qa_n,a_1=\alpha,a_2=\betaan+2=pan+1+qan,a1=α,a2=β
特征方程为x2−px−q=0x^2-px-q=0x2−px−q=0
- 当x1≠x2x_1\neq x_2x1=x2时,an=Ax1n−1+Bx2n−1a_n=Ax_1^{n-1}+Bx_2^{n-1}an=Ax1n−1+Bx2n−1
- 当x1=x2x_1=x_2x1=x2时,an=(A+B)x1n−1a_n=(A+B)x_1^{n-1}an=(A+B)x1n−1
(以上两式中的A,BA,BA,B由a1=α,a2=βa_1=\alpha,a_2=\betaa1=α,a2=β决定)
当然解高阶线性代数都可以用迭代法
斐波那契数列f(n+2)=f(n+1)+f(n)f(n+2)=f(n+1)+f(n)f(n+2)=f(n+1)+f(n)的特征方程为x2−x−1=0x^2-x-1=0x2−x−1=0,得x=1±52x=\frac{1\pm\sqrt{5}}{2}x=21±5
真题
T(n)=2T(n2)+2nT(n)=2T(\frac{n}{2})+2nT(n)=2T(2n)+2n
=2(2T(n4)+2×n2)+2n=2(2T(\frac{n}{4})+2\times\frac{n}{2})+2n=2(2T(4n)+2×2n)+2n
=4T(n4)+2n+2n=4T(\frac{n}{4})+2n+2n=4T(4n)+2n+2n
=4(2T(n8)+2×n4)+2n+2n=4(2T(\frac{n}{8})+2\times \frac{n}{4})+2n+2n=4(2T(8n)+2×4n)+2n+2n
=8T(n8)+2n+2n+2n=8T(\frac{n}{8})+2n+2n+2n=8T(8n)+2n+2n+2n
猜想T(n)=2kT(n2k)+2n×kT(n)=2^kT(\frac{n}{2^k})+2n\times kT(n)=2kT(2kn)+2n×k
当n2k=1\frac{n}{2^k}=12kn=1时,n=2k,k=log2nn=2^k,k=log_2nn=2k,k=log2n
∴T(n)=2kT(1)+2n×k=an+2nlog2n\therefore T(n)=2^kT(1)+2n\times k=an+2nlog_2n∴T(n)=2kT(1)+2n×k=an+2nlog2n
故选B
这个的迭代就很简单了,选D
同理,T(n)=2kT(n4k)+knT(n)=2^kT(\frac{n}{4^k})+k\sqrt{n}T(n)=2kT(4kn)+kn
n=4k,2k=n,k=log2n2n=4^k,2^k=\sqrt{n},k=\frac{log_2n}{2}n=4k,2k=n,k=2log2n
T(n)=n+n2log2nT(n)=\sqrt{n}+\frac{\sqrt{n}}{2}log_2\sqrt nT(n)=n+2nlog2n
显然答案为C
特征方程为2x2−x−1=02x^2-x-1=02x2−x−1=0
得x1=−12,x2=1x_1=-\frac{1}{2},x_2=1x1=−21,x2=1
a1=A+B=0,a2=Ax1+Bx2=−12A+B=1a_1=A+B=0,a_2=Ax_1+Bx_2=-\frac{1}{2}A+B=1a1=A+B=0,a2=Ax1+Bx2=−21A+B=1
解得A=−23,B=23A=-\frac{2}{3},B=\frac{2}{3}A=−32,B=32
an=−23×(−12)n−1+23×1n−1a_n=-\frac{2}{3}\times(-\frac{1}{2})^{n-1}+\frac{2}{3}\times1^{n-1}an=−32×(−21)n−1+32×1n−1
limn→+∞an=23{\lim_{n \to +\infty}}a_n=\frac{2}{3}n→+∞liman=32
选择B
下面是一道…神题…?其实也没这么难
一样的迭代
T(n)=2T(n2)+nlog2nT(n)=2T(\frac{n}{2})+nlog_2nT(n)=2T(2n)+nlog2n
T(n2)=2T(n4)+n2(log2n−1)T(\frac{n}{2})=2T(\frac{n}{4})+\frac{n}{2}(log_2n-1)T(2n)=2T(4n)+2n(log2n−1)
T(n4)=2T(n8)+n4(log2n−2)T(\frac{n}{4})=2T(\frac{n}{8})+\frac{n}{4}(log_2n-2)T(4n)=2T(8n)+4n(log2n−2)
T(n)=2(2T(n4)+n2(log2n−1))+nlog2nT(n)=2(2T(\frac{n}{4})+\frac{n}{2}(log_2n-1))+nlog_2nT(n)=2(2T(4n)+2n(log2n−1))+nlog2n
=4T(n4)+n(log2n−1)+nlog2n=4T(\frac{n}{4})+n(log_2n-1)+nlog_2n=4T(4n)+n(log2n−1)+nlog2n
=4(2T(n8)+n4(log2n−2))+n(log2n−1)+nlog2n=4(2T(\frac{n}{8})+\frac{n}{4}(log_2n-2))+n(log_2n-1)+nlog_2n=4(2T(8n)+4n(log2n−2))+n(log2n−1)+nlog2n
=8T(n8)+n(log2n−2)+n(log2n−1)+nlog2n=8T(\frac{n}{8})+n(log_2n-2)+n(log_2n-1)+nlog_2n=8T(8n)+n(log2n−2)+n(log2n−1)+nlog2n
=8T(n8)+3nlog2n−2n−n=8T(\frac{n}{8})+3nlog_2n-2n-n=8T(8n)+3nlog2n−2n−n
=2kT(n2k)+knlog2n−k(k−1)2n=2^kT(\frac{n}{2^k})+knlog_2n-\frac{k(k-1)}{2}n=2kT(2kn)+knlog2n−2k(k−1)n
当n2k=1,n=2k,k=log2n\frac{n}{2^k}=1,n=2^k,k=log_2n2kn=1,n=2k,k=log2n时
T(n)=n+nlog2n−12log2nT(n)=n+nlog^2n-\frac{1}{2}log^2nT(n)=n+nlog2n−21log2n
选C
更新:时隔一年,NOIp死了,CSP-J/S活了,LZ也来更一次博客以示尊重
(下面假设T(1)=1)
根据迭代的思想T(n)=nlog22n+2.5×(2n/5)log22n+2.52×(2/5)2log22n+...T(n)=n\log_2^2n+2.5\times (2n/5)\log_2^2n+2.5^2\times (2/5)^2\log_2^2n+...T(n)=nlog22n+2.5×(2n/5)log22n+2.52×(2/5)2log22n+...
=nlog22n+nlog22n+nlog22n+...(log2n个)=n\log_2^2n+n\log_2^2n+n\log_2^2n+...(\log_2n个)=nlog22n+nlog22n+nlog22n+...(log2n个)
=nlog23n=n\log_2^3n=nlog23n
这里可以发现T(n)T(n)T(n)最终比nlog22nn\log_2^2nnlog22n多了一个log\loglog
为了对比,我们再看一道题
发现与上面2.5×2n/5=n2.5\times 2n/5=n2.5×2n/5=n不同的是3n/4<n3n/4<n3n/4<n了,会有什么不同呢?
依旧迭代T(n)=nlog2n+(3n/4)log2n+(34)2nlog2n+...T(n)=n\log_2n+(3n/4)\log_2n+(\frac{3}{4})^2n\log_2n+...T(n)=nlog2n+(3n/4)log2n+(43)2nlog2n+...
=(1+34+(34)2+...)nlog2n=(1+\frac{3}{4}+(\frac{3}{4})^2+...)n\log_2n=(1+43+(43)2+...)nlog2n
根据收敛原则T(n)=11−34×nlog2n=4nlog2nT(n)=\frac{1}{1-\frac{3}{4}}\times n\log_2n=4n\log_2nT(n)=1−431×nlog2n=4nlog2n
发现4是个没用的常数
所以T(n)=nlog2nT(n)=n\log_2nT(n)=nlog2n
为什么在这里我们就发现T(n)T(n)T(n)和nlog2nn\log_2nnlog2n是同阶的了呢
原因在于:
- 在前一题中2.5×25=12.5\times \frac{2}{5}=12.5×52=1是不收敛的,这样的东西一共有log2\log_2log2项,所以多了一个log\loglog
- 而后一题中3/4<13/4<13/4<1是收敛的,最终收敛于一个常数可以被省略,因此什么都没有多
- 那么当k/m>1k/m>1k/m>1时,T(n)=(1+km+(km)2+...+(km)logmn)nlog2nT(n)=(1+\frac{k}{m}+(\frac{k}{m})^2+...+(\frac{k}{m})^{\log_mn})n\log_2nT(n)=(1+mk+(mk)2+...+(mk)logmn)nlog2n(假设给定的是T(n)=kT(n/m)+nlog2nT(n)=kT(n/m)+n\log_2nT(n)=kT(n/m)+nlog2n)
=(1−(km)logmn1−km)nlog2n=(klogmnn)×nlog2n=(\frac{1-(\frac{k}{m})^{\log_mn}}{1-\frac{k}{m}})n\log_2n=(\frac{k^{\log_mn}}{n})\times n\log_2n=(1−mk1−(mk)logmn)nlog2n=(nklogmn)×nlog2n
=klogmnlog2n=k^{\log_mn}\log_2n=klogmnlog2n