博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU4920 矩阵乘法
阅读量:6344 次
发布时间:2019-06-22

本文共 748 字,大约阅读时间需要 2 分钟。

嗯嗯 就算是水题吧。

(缩完行就15行)
题意:两个n*n的矩阵相乘(n<=800),结果对3取模

思路:先对3取模,所以两个矩阵里面会出现很多0,所以可以先枚举一个矩阵,只有当该位置不是0的时候才和另一个矩阵做乘法。

取模的时候也有技巧,,不要在计算的途中取模,,,
应该读入的时候取一次模,输出的时候取一次模
计算量会小很多。

// by SiriusRen#include 
#include
#define ff(N) for(int i=1;i<=n;i++){for(int j=1;j<=N;j++)using namespace std;int n,a[801][801],b[801][801],ans[801][801];void scan(int (*x)[801]){ff(n) scanf("%d",&x[i][j]),x[i][j]%=3;}}int main(){ while(~scanf("%d",&n)){
scan(a),scan(b),memset(ans,0,sizeof(ans)); ff(n) if(a[i][j])for(int k=1;k<=n;k++)ans[i][k]+=a[i][j]*b[j][k];} ff(n-1) printf("%d ",ans[i][j]%3);printf("%d\n",ans[i][n]%3);} }}

G++更快?

这里写图片描述

哈哈哈哈哈哈哈 Codelength登顶~~~

这里写图片描述

转载于:https://www.cnblogs.com/SiriusRen/p/6532385.html

你可能感兴趣的文章
JSON.parse()和JSON.stringify()
查看>>
常见网站
查看>>
JS框架avalon简单例子 行编辑 添加 修改 删除 验证
查看>>
linux 安装 bitnamid-redmine
查看>>
方法内部类
查看>>
不过的小东东
查看>>
随时更新
查看>>
python操作mongodb之七时间和时区
查看>>
MVVM开始
查看>>
Android开发之《内存对齐》
查看>>
https页面与http页面自动切换----SSL解决方案
查看>>
SqlServer里DateTime转字符串
查看>>
个人项目博客----移山小分队----05
查看>>
R(rattle)实现决策树算法
查看>>
js中取el表达式问题
查看>>
tomcat7.0安装笔记
查看>>
Properties类
查看>>
凯撒加密解密
查看>>
VS2015/Visual Studio快捷键无效问题
查看>>
forfiles命令详解
查看>>