标签:long mat while class mem sizeof ems 快速幂 eof
int add(long long &x,long long y)
{
x+=y;
x%=MOD;
}
Matrix mutil(Matrix x,Matrix y)
{
Matrix z;
memset(z.a,0,sizeof(z.a));
for(int i=0;i<X;i++)
{
for(int k=0;k<X;k++)
{
if(x.a[i][k]==0) continue;
for(int j=0;j<X;j++)
{
add(z.a[i][j],x.a[i][k]*y.a[k][j]);
}
}
}
return z;
}
Matrix Pow(Matrix x,int n)
{
Matrix y;
for(int i=0;i<X;i++) y.a[i][i]=1;
while(n)
{
if(n&1) y=mutil(x,y);
x=mutil(x,x);
n=n/2;
}
return y;
}
标签:long mat while class mem sizeof ems 快速幂 eof
原文地址:http://www.cnblogs.com/Heilce/p/6601821.html