早就听说矩阵乘法的威力,今天培训第三题也是用矩阵优化递推,以前一直以为很难,今天静下心来好好看了看,终于稍微懂了些。。
优化斐波那契数列;
根据 定义 f(x+2) = f(x+1) + f(x) 可以 求出 a,b,c,d
然后因为矩阵乘法符合结合律[a*(b*c) = (a*b)*c ]
用快速幂求就好了
只要构造出矩阵,类似F[n]=a1F[n-1]+a2F[n-2]+a3F[n-3]+........ak[n-k]都可以用快速幂+矩阵乘法优化时间。
矩阵初始化应该是{1,0,0,1};