题目链接:http://www.bnuoj.com/bnuoj/problem_show.php?pid=34974

MATLAB大法好

 Time Limit: 8000ms
Memory Limit: 65536KB
64-bit integer IO format: %lld      Java class name: Main

MATLAB大法好,天灭C++,退C保平安,人在做,天在看,大段循环留祸患,内存泄露电脑灭,跳出递归保平安。诚心诚念矩阵好,批量操作平安保,两行代码问题解,算法查错有保障。众生都是码农命,老板PUSH忘前缘。MATLAB弟子说真相,教你脱险莫拒绝,上网搜索九评Bjarne Stroustrup,有*真*相。

大家都知道,用MATLAB做矩阵计算是非常方便的。比如你想算矩阵A的转置AT(即将A矩阵行列对调,元素aij变为aji),只需敲A’ 即可,而在C或C++中,你必须写循环或者——什么都不用做!再比如你想对A中的每个元素都加1,在MATLAB中可以轻松地写作A.+1,而在C或C++中,你照样要写循环。

现在定义一个矩阵运算

如果A是一个 m × n 的矩阵,而B是一个 p × q 的矩阵,那么则是一个 mp × nq 的矩阵:

现给出矩阵A、B,求(AB)((AT).+1(BT).+1)。其中,前两个括号之间表示正常的矩阵乘法,的运算优先级最低。

Input

第一行为数据组数t(t<=10)。

接下来,对每组数据:

第一行为4个整数m,n,p,q,1<=m,n,p,q<=50,分别代表矩阵A、B的行、列数。接下来为按照行列的2个矩阵A,B。矩阵元素为大小不超过100的非负整数。

Output

按照行列顺序输出结果矩阵,行内元素之间由空格隔开,行末无空格。

Sample Input

2
1 1 1 1
1
1
1 2 2 2
1 0
1 2
0 1

Sample Output

4
16 10
6 4

分析:昨天比赛的时候写了一下,超时了。今天又看了一下,发现

(AB)((AT).+1(BT).+1) = [ A * (  (AT).+1) ]    [ B * (  (BT).+1)]。这样经过转化就好写了。

#include<stdio.h>
#define N 55
#define M 2550
typedef long long LL;
LL a[N][N], b[N][N], A[N][N], B[N][N];
LL ans[M][M];
int main()
{int t, m, n, p, q, i, j;scanf("%d",&t);while(t--){scanf("%d%d%d%d",&m,&n,&p,&q);for(i = 0; i < m; i++)for(j = 0; j < n; j++)scanf("%lld", &a[i][j]);for(i = 0; i < p; i++)for(j = 0; j < q; j++)scanf("%lld", &b[i][j]);for(i = 0; i < m; i++)for(j = 0; j < m; j++){A[i][j] = 0;for(int x = 0; x < n; x++)A[i][j] += a[i][x] * (a[j][x] + 1);}for(i = 0; i < p; i++)for(j = 0; j < p; j++){B[i][j] = 0;for(int x = 0; x < q; x++)B[i][j] += b[i][x] * (b[j][x]+1);}for(i = 0; i < m*p; i++)for(j = 0; j < m*p; j++){int x = i / p;int y = j / p;int yy = j % p;int xx = i % p;ans[i][j] = A[x][y] * B[xx][yy];}for(i = 0; i < m * p; i++){for(j = 0; j < m*p - 1; j++)printf("%lld ",ans[i][j]);printf("%lld\n",ans[i][j]);}}return 0;
}

BNU 34974 MATLAB大法好相关推荐

  1. python gps数据处理_GPS数据处理简述(上)

    前前言最近在上海出差,有对数据挖掘和机器学习的实践感兴趣,想要面基的小伙伴可以联系我. 联系方式在 Resume 里面,也可以看一下我的介绍,到时候咱们可以面基面的更有针对性. 困死了,实在写不下去了 ...

  2. 如何产生正态分布的随机数?

    如何产生正态分布的随机数? 添加评论 分享 按投票排序按时间排序 28 个回答 86赞同 反对,不会显示你的姓名 Milo Yip,游戏程序员.<游戏引擎架构>译者 Porphyah.熊墩 ...

  3. matlab cell 颜色,MATLAB 的 cell 大法(单元格数组)

    MATLAB 的 cell,称单元格数组 or 元胞数组:使用频率特别高,甚至比 struct 结构体还高. MATLAB文档给出的 cell 官方定义: A cell array is a coll ...

  4. Matlab绘图案例,MATLAB画图大法,附详细代码

    目录 1. 使用subplot创建多个子图 2. 绘制误差棒图 3. 绘制条形堆积图 4. 绘制堆积面积图 5. 绘制直方图并拟合曲线 6. 绘制等高线图 7. 绘制光滑的曲线 8. 绘制彩虹图 9. ...

  5. matlab brush怎么用,教程 | 轻松搞定brushlettering超美晒图大法,不用PS

    哈喽大家好,我是沉迷brushlettering不能自拔的野生手绘小能手--叶小绘^ω^ 追求精致生活的小仙女们一定不满足于写好brushlettering呀,我们还要po图!求赞求夸求转发求膜拜- ...

  6. matlab画泰森多边形,你的SU建模太慢了!泰森多边形有快速生成大法!

    泰森多边形又叫 Voronoi 图形或Dirichlet 图形.它是由一组由连接两邻点直线的垂直平分线组成的连续多边形组成. N个在平面上有区别的点,按照最邻近原则划分平面:每个点与它的最近邻区域相关 ...

  7. swiper 滚回第一个数据_名企必备的数据分析基础技能:Python大法(一)

    现如今,大数据的发展越来越好,也越来越多的企业中大数据分析已经朝着更好的方向发展.也正是因为这个原因,数据分析行业的人才需求也变得火爆起来,尤其是数据分析.数据挖掘.数据科学家等高端人才,越来越稀缺. ...

  8. python调用matlab环境配置、非常详细!!!_Python调用Matlab2014b引擎

    用惯Python的你,是不是早已无法忍受matplotlib那丑陋无比的图以及蛋疼无比部署依赖? 当当当当,Matlab2014b的Python Engine API现已加入豪华午餐. 上次写了一篇文 ...

  9. LIBSVM在MATLAB中的使用及SVM最优参数选取示例代码

    1. 参考网站: LIBSVM 库下载:http://www.csie.ntu.edu.tw/~cjlin/libsvm/ https://www.csie.ntu.edu.tw/~cjlin/lib ...

最新文章

  1. java xml 查询_Java DOM解析器 - 查询XML文档
  2. 腾讯下载视频转换MP4
  3. 304 vue 启动项目打开页面_Vue搭建项目工程(续)
  4. 配置静态路由下一跳为本地出战接口和IP地址的区别
  5. JavaScript从入门到放弃 -(七)ES6
  6. python可变对象与不可变对象_python 可变对象与不可变对象
  7. 语言基础(9):static, extern 和 inline
  8. JavaEE 企业级分布式高级架构师(七)MongoDB学习笔记(3)
  9. 输出流缓冲的意义 何时缓冲 Stdout Buffering
  10. 【C#】Activator.CreateInstance用法
  11. 三种方法,让WPF项目生成单文件
  12. 彻底解决win10屏幕亮度无法调节
  13. GitLab更换IP地址报错解决
  14. 几个去黑头的土方法,试试看! - 生活至上,美容至尚!
  15. linux 安装拼音QQ
  16. FE310三个版本的差异
  17. 第一章 05 Rim 边缘光
  18. ArcGIS API for JavaScript 3.24 文字标注的添加和带背景的文字添加
  19. java 编译war包_javaweb程序打包成war文件的步骤
  20. 国产数据库厂商都怕低价竞争?阿里云却说这不是最可怕的

热门文章

  1. 【干货下载】金融大数据专场沙龙内容分享
  2. A标签的href设置为#代表什么意思?
  3. 敏捷个人手机应用:如何使用时中法习惯
  4. 程序语言(编程语言)汇总大全
  5. Ivan D Jankovic PhD Studentship** Application
  6. how to prepare reading club
  7. what to improve on my case study?
  8. 文科生的数据分析:亲测有效,真香!!!
  9. if you go to the station early, what will you get
  10. 实验协作的时候需要做什么?