已知递推式求第N项的O(logN)算法 (递推式转化为矩阵)

若有递推式f(n)=a(1)f(n-1)+a(2)f(n-2)++a(m)f(n-m),则可转化为以下矩阵形式:

(你可以自己验算一下)


随后快速幂即可。

(F(n)就相当于求上方n-m+1幂的矩阵经快速幂计算后的矩阵的第一行乘右边那个初始项矩阵)

 

例题:

POJ 3070 Fibonacci

POJ 3420 Quad Tiling


你可能感兴趣的:(ACM,矩阵,快速幂,递推)