struct Matrix
{
ll m[sz][sz];
};
Matrix Mul(Matrix a,Matrix b)
{
Matrix c;
memset(c.m,0,sizeof(c.m));
for(int i=0; i<sz; i++)
for(int j=0; j<sz; j++)
for(int k=0; k<sz; k++)
{
if(a.m[i][k]==0||b.m[k][j]==0) continue;
c.m[i][j]=(c.m[i][j]+a.m[i][k]*b.m[k][j]+mod)%mod;
}
return c;
}
Matrix fastm(Matrix res, Matrix a,ll n)
{
while(n)
{
if(n&1)
res = Mul(res,a);
n>>=1;
a = Mul(a,a);
}
return res;
}
Matrix init()//关系阵
{
Matrix pp;
return pp;
}
矩阵快速幂
最新推荐文章于 2025-06-01 00:01:08 发布