传送门:洛谷 P1487 失落的成绩单
题目描述:
数列 a a a 满足
A i = A i − 1 − A i + 1 2 + d A_i=\frac{A_{i-1}-A_{i+1}}{2}+d Ai=2Ai−1−Ai+1+d
给出:首项 A 1 A_1 A1、末项 A n A_n An、 d d d、 m m m,求 A m A_m Am
算法分析:
矩阵快速幂?还没学,所以我们就用数(mo)学(fa)来解决这道题。
预备知识:特征方程
我们以这个式子为例—— f i = f i − 1 + 6 f i − 2 f_i=f_{i-1}+6f_{i-2} fi=fi−1+6fi−2
首先我们来看两个数列
a n = ( − 2 ) n , b n = 3 n , n ∈ N _ + a_n=(-2)^n\ , b_n=3^n,n\in\mathbb{N}\_{+} an=(−2)n ,bn=3n,n∈N_+
那么,我们可以列出 a a a 的前几项: − 2 , 4 , − 8 , 16 , . . . -2,4,-8,16,... −2,4,−8,16,..., b b b 的前几项: 3 , 9 , 27 , 81 , . . . 3,9,27,81,... 3,9,27,81,...
将 a a a 代入递推式,神奇的发现——
f 1 = − 2 f_1=-2 f1=−2, f 2 = 4 f_2=4 f2=4, f 3 = 4 + 6 × ( − 2 ) = − 8 f_3=4+6\times(-2)=-8 f3=4+6×(−2)=−8, f 4 = − 8 + 6 × 4 = 16 f_4=-8+6\times4=16 f4=−8+6×4=16, . . . . . . ...... ......
a a a 中的数都满足上述的递推式,同样的, b b b 也满足。
很明显, f i = ( − 2 ) k f_i=(-2)^k fi=(−2)k 和 f i = 3 k f_i=3^k fi=3k 都是上述递推式的通项公式
下面我们来看两个引理——
1、若 f i = a i f_i=a^i fi=ai 是某一递推式的通项公式,那么, f i = λ a i f_i=\lambda a^i fi=λai 同样满足递推式(两边同乘上系数即可)
2、若 f i = a i f_i=a^i fi=ai 和 f i = b i f_i=b^i fi=bi 都满足递推式,那么, f i = α × a i + β × b i f_i=\alpha\times a^i+\beta\times b^i fi=α×ai+β×bi 同样满足(两式乘上系数相加即可)
接下来,我们来看一个经典的例子——斐波拉契数列 f i = f i − 1 + f i − 2 f_i=f_{i-1}+f_{i-2} fi=fi−1+fi−2
现在我们不能像刚才那个式子“观察”出一个通解了,那么就需要我们自己进行构造
现在我们设存在一组等比数列满足这个递推式,其公比为 q q q ,那么我们看一下这个式子
f i = f i − 1 + f i − 2 f_i=f_{i-1}+f_{i-2} fi=fi−1+fi−2
q 2 × f i − 2 = q × f i − 2 + f i − 2 q^2\times f_{i-2}=q\times f_{i-2}+f_{i-2} q2×fi−2