矩阵乘法
封装一个矩阵,带乘法,加法和清空
struct matrix
{
int n,m;
long long a[N][N];
friend matrix operator * (matrix x,matrix y)
{
matrix c;
c.n=x.n;c.m=y.m;
c.clear(0);
for(int i=1;i<=c.n;++i)
{
for(int j=1;j<=x.m;++j)
{
if(x.a[i][j])
for(int k=1;k<=c.m;++k)
{
if(y.a[j][k])
c.a[i][k]=(c.a[i][k]+1ll*x.a[i][j]*y.a[j][k]%YA)%YA;
}
}
}
return c;
}
friend matrix operator + (matrix x,matrix y)
{
matrix c;
c.n=x.n;c.m=y.m;
c.clear(0);
for(int i=1;i<=c.n;++i)
{
for(int j=1;j<=c.m;++j)
{
c.a[i][j]=(c.a[i][j]+(x.a[i][j]+y.a[i][j])%YA)%YA;
}
}
return c;
}
inline void clear(bool f)
{
for(int i=1;i<=n;++i)
{
for(int j=1;j<=m;++j)
{
a[i][j]=0;
if(i==j&&f) a[i][j]=1;
}
}
return;
}
};
对于邻接矩阵
记矩阵A为一个边权均为1的一张图的邻接矩阵,
那么表示图中i点到j点距离为n的路径条数
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具