• 矩阵快速幂模板


    const int maxn = 105;
    struct Matrix {
      int m[maxn][maxn];
    }ans,res;
    /**矩阵乘法**/
    Matrix mul(Matrix a,Matrix b,int n){
      Matrix tmp;
      for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
          tmp.m[i][j]=0;
        }
      }
      for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
          for(int k=1;k<=n;k++){
            tmp.m[i][j]+=A.m[i][k]*B.m[k][j];
          }
        }
      }
      return tmp;
    }
    /**快速幂**/
    void quickpow(int N,int n){
        for(int i=1;i<=n;n++){
          for(int j=1;j<=n;j++){
            if(i==j) ans.m[i][j]=1;
            else ans.m[i][j]=0;
          }
        }
        while(N){
          if(N&1){
            ans=mul(ans,res);
          }
          res=mul(res,res);
          N=N>>1;
        }
    }
    View Code
    每一个不曾刷题的日子 都是对生命的辜负 从弱小到强大,需要一段时间的沉淀,就是现在了 ~buerdepepeqi
  • 相关阅读:
    字符串,列表,集合,字典,元组方法
    内置对象方法
    学生管理系统(2)
    1207
    PSP总结
    1130
    1123
    1118
    1109
    评论
  • 原文地址:https://www.cnblogs.com/buerdepepeqi/p/9396237.html
Copyright © 2020-2023  润新知