#100. 矩阵乘法
时间:2022-05-08
本文章向大家介绍#100. 矩阵乘法,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
矩阵乘法
内存限制:256 MiB时间限制:2000 ms标准输入输出
题目类型:传统评测方式:文本比较
上传者: 匿名
题目描述
这是一道模板题。
分别给定 n×p n times pn×p 和 p×m p times mp×m 的两个矩阵 A AA 和 B BB,求 A×B A times BA×B。
输入格式
第一行三个正整数 n nn、p pp、m mm,表示矩阵的长宽。 之后的 n nn 行,每行 p pp 个整数,表示矩阵 A AA。 之后的 p pp 行,每行 m mm 个整数,表示矩阵 B BB。
输出格式
输出 n nn 行,每行 m mm 个整数,表示矩阵 A×B A times BA×B,每个数模 109+7 10 ^ 9 + 7109+7 输出。
样例
样例输入
3 4 5
-2 -8 -9 8
-10 0 6 -8
-10 -6 6 9
4 -7 5 -5 9
10 -2 -10 5 5
-3 -7 -3 8 -2
-6 7 7 3 -2
样例输出
999999898 149 153 999999929 999999951
999999997 999999979 999999883 74 999999921
999999835 103 55 95 999999857
数据范围与提示
1≤n,p,m≤500, −109≤Ai,j,Bi,j≤109 1 leq n, p, m leq 500, -10 ^ 9 leq A_{i, j}, B_{i, j} leq 10 ^ 91≤n,p,m≤500, −109≤Ai,j,Bi,j≤109
分类标签
zhx说矩阵乘法的时候把k放在外面会有玄学优化?
上面那个是k在外面的,貌似真有玄学优化?:astonished:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#define LL long long
using namespace std;
const int MAXN=1001;
const int mod=1e9+7;
inline int read()
{
char c=getchar();int flag=1,x=0;
while(c<'0'||c>'9') {if(c=='-') flag=-1;c=getchar();}
while(c>='0'&&c<='9') x=x*10+c-48,c=getchar();return x*flag;
}
int n,p,m;
long long int a[MAXN][MAXN];
long long int b[MAXN][MAXN];
long long int c[MAXN][MAXN];
int main()
{
n=read();p=read();m=read();
for(int i=1;i<=n;i++)
for(int j=1;j<=p;j++)
a[i][j]=read(),a[i][j]=(a[i][j]%mod+mod)%mod;
for(int i=1;i<=p;i++)
for(int j=1;j<=m;j++)
b[i][j]=read(),b[i][j]=(b[i][j]%mod+mod)%mod;
for(int k=1;k<=p;k++)
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
c[i][j]=( c[i][j]+(a[i][k]*b[k][j])%mod )%mod;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
printf("%lld ",c[i][j]);
printf("n");
}
return 0;
}
- Java基础12 类型转换与多态
- linux(七)之linux系统中查找文件
- apache配置多站点
- linux(六)之文本操作
- Java基础11 对象引用
- maven 3.3.9 for windows 配置
- JS魔法堂:再次认识Function.prototype.call
- MySQL(六)之MySQL常用操作符
- 无人驾驶的基本算法及简单介绍
- CentOS6.5安装Java 8以及Tomcat8
- Java基础06 组合
- 警告:MySQL-server-5.6.21-1.linux2.6.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
- MySQL(五)之DDL(数据定义语言)与六大约束
- Java基础08 继承
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- python如何从键盘获取输入实例
- 使用Keras实现Tensor的相乘和相加代码
- php无限级分类实现评论及回复功能
- php获取手机端的号码以及ip地址实例代码
- PHP数组遍历的几种常见方式总结
- 详解php协程知识点
- php curl简单采集图片生成base64编码(并附curl函数参数说明)
- PHP通过get方法获得form表单数据方法总结
- PHP filesize函数用法浅析
- PHP中创建和编辑Excel表格的方法
- php二维数组按某个键值排序的实例讲解
- thinkphp5引入公共部分header、footer的方法详解
- php实现文章评论系统
- PHP如何搭建百度Ueditor富文本编辑器
- 浅谈keras.callbacks设置模型保存策略