矩阵快速幂的使用,能够对于一个给定且不变的递推式,快速地得到我们要的第项,但是我们往往无法快速地推导出递推式,那么我们这里来总结一下。

步骤:

  1. 列出递推式中的元素
  2. 往前递推一项也列出对应元素
  3. 设基矩阵利用关系式以及矩阵乘法解出

举个栗子:

著名的斐波拉契数列:

步骤一 :

我们可以发现,这是用来求到,那么矩阵中一定会包含至少两项与有关的变量,不妨设:




步骤二 : (解出矩阵)
由矩阵乘法的性质,我们可以反推得到矩阵的行列数应该是,不妨设:

根据矩阵乘法:

最后可以解得:

最后再利用矩阵快速幂就可以了!


对于本题:

递推式:

我们先不去想怎么处理这个,让我们先找出第项中应当包含的元素:

以及前一项(项)应当包含的元素:

我们考虑如何从变换到,平方差可得:

所以我们的递推式中必定会包含这三个元素(否则不能递推下去)

我们不妨设第项矩阵为:

项矩阵为:

设出并求出基矩阵:

接下来就可以用矩阵快速幂了!!(完结撒花)