标签:tmp lse 乘法 col int 矩阵快速幂 amp class display
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; } }
标签:tmp lse 乘法 col int 矩阵快速幂 amp class display
原文地址:https://www.cnblogs.com/buerdepepeqi/p/9396237.html