简介
定义:设有数列 { a n } 满 足 递 推 关 系 a n = ∑ i = 1 k a n − i f i \{a_n\}满足递推关系a_n=\sum\limits_{i=1}^{k}a_{n-i}f_i { an}满足递推关系an=i=1∑kan−ifi,则称该数列满足 k k k阶齐次线性递推关系。
求法
现在我们从最基础的矩阵快速幂开始一步一步优化求 a n a_n an的时间复杂度。
矩阵快速幂
直接上矩阵快速幂来优化递推即可,时间复杂度为 O ( k 3 l o g n ) O(k^3log_n) O(k3logn),非常不优秀,因此我们考虑用更快的方法求出 a n a_n an。
在我们知道了 a 1 , a 2 , . . . a k a_1,a_2,...a_k a1,a2,...ak之后想推出 a n a_n an的方法可以借鉴矩阵快速幂的方法,构造一个 k ∗ k k*k k∗k的矩阵 M M M来完成递推,关键就是优化求 M n