文章

13

粉丝

168

获赞

13

访问

16.2k

头像
矩阵幂 题解:递归求解
P1384 北京邮电大学
发布于2023年4月29日 20:21
阅读数 1.4k

递归矩阵乘法,res矩阵(初始设为matrix)乘k个matrix矩阵

#include<bits/stdc++.h>

using namespace std;

#define rep(i,s,e) for(int i=s;i<e;i++)

#define per(i,s,e) for(int i=s;i>e;i--)

#define LL long long


//递归矩阵乘法,res矩阵乘k个matrix矩阵

vector< vector<LL> > nnMatrixMtl(LL n,vector< vector<LL> > res,vector< vector<LL> > matrix,LL k){

    vector< vector<LL> > temp_res;//保存res*1个matrix的结果

    vector<LL> line;

    if(k==0) return res;

    LL val;

    //执行res乘1个matrix矩阵,保存在temp_res中

    rep(i,0,n){

        rep(j,0,n){

            //计算temp_res[i][j]处的值val

            val=0;

            rep(x,0,n) val+=res[i][x]*matrix[x][j];

            line.push_back(val);

        }

        temp_res.push_back(line);

        line.clear();

    }

    return nnMatrixMtl(n,temp_res,matrix,k-1);

}


int main(){

    LL n,k,val;

    vector<LL> line;

    vector< vector<LL> &g...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发