`
yangliuy
  • 浏览: 66481 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

POJ 3070 Fibonacci数列 矩阵乘法及乘幂求法

 
阅读更多

可以先推算一下,会发现m0,m1,m2,m3等为方阵的乘幂,其第1行第2列就是Fibonacci数列的项,关键是如何求矩阵的乘幂呢?

分奇数幂和偶数幂两种情况

A(2)^n因为方阵的乘法有结合律,所以A(2)^n=A(2)^(n/2)*A(2)^(n/2),不妨设n是偶数
所以求A(n)就可以化成求A(n/2)并作一次乘法,所以递归方程是:A(n)=A(n/2)^2

但是如果n为奇数,可以A(n)=A((n-1)/2) * A((n+1)/2或者A(n)=A((n-1)/2)^2 * A(1)

关于矩阵的乘幂运算也可以如下运算,用于POJ3744中:

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics