矩阵乘法很久以前就学了
久到忘记了是什么时候
然而清楚地记得我不会
在集训的时候被废鼠姐姐一句话点醒(废鼠姐姐tql orz)
手动分割---------------------------------------------------------------------------------------------------------
设有矩阵A和B,A为p*n的矩阵,B为n*q的矩阵,则他们的乘积C是一个p*q的矩阵
如果还不懂,看图就好了
至于代码
先咕咕了(逃)
struct matrix{
int r,c,m[N][N];
matrix(){memset(m,0,sizeof m);}
inline matrix operator * (const matrix& b) const {
matrix ans;
ans.r=r;
ans.c=b.c;
for(int i=1;i<=ans.r;++i)
for(int j=1;j<=ans.c;++j)
for(int k=1;k<=c;++k)
ans.m[i][j]=(ans.m[i][j]+m[i][k]*b.m[k][j])%mod;
return ans;
}
};