您的位置:首页 > 财经 > 金融 > 矩阵快速幂优化dp

矩阵快速幂优化dp

2024/11/17 20:36:54 来源:https://blog.csdn.net/wniuniu_/article/details/140890147  浏览:    关键词:矩阵快速幂优化dp

之前一直想找一个矩阵快速幂的专题,但是都没有题目来总结,今天就来水一下


在这里插入图片描述

这个题目的转移方程我们可以很快想出来,但是我们如何作为我们矩阵快速幂的敲门砖呢?

在这里插入图片描述

有一个问题要注意的是我们由于这题不是取模的,可能会溢出,我们要开 long long 才行

class Ma {
public:int a[2][2];Ma() {memset(a, 0, sizeof a);}friend Ma operator*(Ma b, Ma c) {Ma d;for (int i = 0; i < 2; i++) {for (int j = 0; j < 2; j++) {for (int k = 0; k < 2; k++) {d.a[i][j] += b.a[i][k] * c.a[k][j];}}}return d;}
};// 1 1
// 1 0class Solution {
public:int climbStairs(int n) {// f(1) = 1 f(2) = 2if (n == 1) return 1; if (n == 2) return 2;Ma b; b.a[0][0] = 2; b.a[1][0] = 1;n -= 2; Ma c;c.a[0][0] = c.a[1][0] = c.a[0][1] = 1;while (n) {if (n & 1) b = b* c;c = c * c;n >>= 1;}return b.a[0][0];}
};

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com