模板矩阵乘法快速幂
Posted akioi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模板矩阵乘法快速幂相关的知识,希望对你有一定的参考价值。
struct matrix{ int n,m,a[N][N]; void init(int x) { n=m=x; for(int j=1;j<=n;j++)//单位帧初始化 a[i][j]=(i==j); } }; matrix operator*(matrix x,matrix y) { matrix z; z.n=x.n;z.m=y.m; for(int i=1;i<=z.n;i++) for(int j=1;j<=z.m;j++) { long long ams=0; for(int k=1;k<=x.m;k++) ans+=(long long)x.a[i][k]*y.a[k][j]; z.a[i][j]=ans%mod; } } matrix operator^(matrix x,int y) { matrix z=x; z.init(x.n); while(y) { if(y&1) z=z*x; x=x*x;y>>=1; } }
以上是关于模板矩阵乘法快速幂的主要内容,如果未能解决你的问题,请参考以下文章