ACM 矩阵乘法模板(T_T)+快速幂

来源:互联网 发布:预测炒股票软件哪家好 编辑:程序博客网 时间:2024/05/23 01:44

ACM矩阵乘法模板(T_T)+快速幂


typedef long long lint;
struct matrix{    lint m[10][10];    matrix()    {        memset(m,0,sizeof(m));//注意要清零    }};matrix operator * (const matrix & a,const matrix & b){    matrix c;    for (int i=1; i<=9; i++)        for (int j=1; j<=9; j++)        {            c.m[i][j]=0;            for (int k=1; k<=9; k++)                c.m[i][j]=(c.m[i][j]+a.m[i][k]*b.m[k][j])%mod;//一般题目都要求要modulo一个数        }    return c;}matrix quick(matrix base,int pow){    matrix a;    for (int i=1; i<=9; i++) a.m[i][i]=1;//单位阵,矩阵乘法时要用到    while (pow)    {        if (pow&1) a=a*base;        base=base*base;        pow>>=1;    }    //if (pow==0) return base;    return a;}

参考Gatevin大神的题目


0 0
原创粉丝点击