【日常学习】codevs1287 矩阵乘法题解
转载请注明出处 [ametake版权全部]http://blog.csdn.net/ametake欢迎来看、
先上题目
小明近期在为线性代数而头疼,线性代数确实非常抽象(也非常无聊),可惜他的老师正在讲这矩阵乘法这一段内容。
当然,小明上课打瞌睡也没问题,但线性代数的习题但是非常可怕的。小明希望你来帮他完毕这个任务。
如今给你一个ai行aj列的矩阵和一个bi行bj列的矩阵,要你求出他们相乘的积(当然也是矩阵)。
(输入数据保证aj=bi,不须要推断)
矩阵乘法的定义:
1. 矩阵A乘以B的时候。必需要求A的列数=B的行数,否则无法进行乘法运算。
因此矩阵乘法也不满足交换律。
2. 设A是X*N的矩阵。B是N*Y的矩阵,用A的每一行乘以B的每一列,得到一个X*Y的矩阵。对于某一行乘以某一列的运算,我们称之为向量运算,即相应位置的每一个数字相乘之后求和。
写为公式及:
C[i,j] = Sigma(A[i,k] * B[k,j])
输入文件共同拥有ai+bi+2行,而且输入的全部数为整数(long long范围内)。
第1行:ai 和 aj
第2~ai+2行:矩阵a的全部元素
第ai+3行:bi 和 bj
第ai+3~ai+bi+3行:矩阵b的全部元素
输出矩阵a乘矩阵b的积(矩阵c)
2 2
12 23
45 56
2 2
78 89
45 56
1971 2356
6030 7141
矩阵大小<=200*200
题目本身很easy,在这里仅仅是要说一下矩阵乘法的应用。
昨天在诸城一中夏令营听了高天宇前辈的解说,矩阵乘法能够和倍增思想结合将反复计算的乘法提升到对数级别的复杂度。
因为矩阵乘法满足结合律,因此求得转移矩阵后,能够先对转移矩阵做类似高速幂的翻倍,再与原矩阵相乘,能够极大的提高执行效率。
至于怎么构造转移矩阵= =机房快关门了也来不及说了= =假设有谁(预计没人)看到这篇文章想知道(预计还没人)的话能够私信我单独交流= =
事实上主要是想吐槽几句= =
1.codevs昨天编译器各种故障是怎么回事三个编译器全挂了
2.codevs比赛juruo【谷歌输入法竟打不出来= =】仅仅做出第一个题并且仅仅过了例子并且第一遍还写错了并且还稀里糊涂调了一个小时= =
3.codevs第一次月赛怎么也得支持一下只是好麻烦啊= =感觉NOIP无力了ORZ
4.山东夏令营今年难度总体减少了一个B格= =什么情况这节奏严重不正确= =目測不是省队爷低估了我们水平就是国家队爷高估了我们水平= =另,WYH神犇表示做老师非常累= =我们听神犇您的课也非常累= =
5.这几天蒙受GTY神犇光环,树状数组线段树RMQ矩阵乘法ST各种新技能···还没get= =但各种开眼= =
6.GTY神犇好萌~被WYH神犇各种无视(举了N词手都被54,我的存在感一定在上午用光了OTZ)
7.下午课各种悲了个剧= =想听的启示式搜索什么的各种被删= =重归基础二难度,隔壁LOI安之若素姑娘恐怕要哭晕在厕所了= =(打脸)
8.预祝TY君和CA队长诸位面基愉快~
9.见到洵二二好开心,XBOI新来的姑娘好萌。ZCYZ去年一群花姑娘不见了来的这仅仅也好萌,山师附中的神犇们好沉默不知什么冤什么仇= =迄今各种愉快。有星空就更好了
10.明天也还要好好学习,不知不觉暑假过半了啊= =看到诸城一中1323孩子们这么努力我们也要加油啊= =
11.我十二点半火车回到家第二天一大早爬到诸城easy吗= =
【日常学习】codevs1287 矩阵乘法题解的更多相关文章
- [codevs1287]矩阵乘法
题目描述 Description 小明最近在为线性代数而头疼,线性代数确实很抽象(也很无聊),可惜他的老师正在讲这矩阵乘法这一段内容.当然,小明上课打瞌睡也没问题,但线性代数的习题可是很可怕的.小明希 ...
- [学习笔记]矩阵乘法及其优化dp
1.定义: $c[i][j]=\sum a[i][k]\times b[k][j]$ 所以矩阵乘法有条件,(n*m)*(m*p)=n*p 即第一个矩阵的列数等于第二个矩阵的行数,否则没有意义. 2.结 ...
- BZOJ2738:矩阵乘法——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=2738 Description 给你一个N*N的矩阵,不用算矩阵乘法,但是每次询问一个子矩形的第K小数 ...
- LuoguB2105 矩阵乘法 题解
Content 给定一个 \(n\times m\) 的矩阵 \(A\) 和一个 \(m\times k\) 的矩阵 \(B\),求两个矩阵相乘得到的矩阵. \(n\times m\) 的矩阵 \(A ...
- Java实现 蓝桥杯 算法提高 矩阵乘法(暴力)
试题 算法提高 矩阵乘法 问题描述 小明最近刚刚学习了矩阵乘法,但是他计算的速度太慢,于是他希望你能帮他写一个矩阵乘法的运算器. 输入格式 输入的第一行包含三个正整数N,M,K,表示一个NM的矩阵乘以 ...
- OpenGL学习进程(12)第九课:矩阵乘法实现3D变换
本节是OpenGL学习的第九个课时,下面将详细介绍OpenGL的多种3D变换和如何操作矩阵堆栈. (1)3D变换: OpenGL中绘制3D世界的空间变换包括:模型变换.视图变换.投影变换和视口 ...
- 学习心得:《十个利用矩阵乘法解决的经典题目》from Matrix67
本文来自:http://www.matrix67.com/blog/archives/tag/poj大牛的博文学习学习 节选如下部分:矩阵乘法的两个重要性质:一,矩阵乘法不满足交换律:二,矩阵乘法满足 ...
- P1962 斐波那契数列-题解(矩阵乘法扩展)
https://www.luogu.org/problemnew/show/P1962(题目传送) n的范围很大,显然用普通O(N)的递推求F(n)铁定超时了.这里介绍一种用矩阵快速幂实现的解法: 首 ...
- [模板][题解][Luogu1939]矩阵乘法加速递推(详解)
题目传送门 题目大意:计算数列a的第n项,其中: \[a[1] = a[2] = a[3] = 1\] \[a[i] = a[i-3] + a[i - 1]\] \[(n ≤ 2 \times 10^ ...
随机推荐
- 标准库中的智能指针shared_ptr
智能指针的出现是为了能够更加方便的解决动态内存的管理问题.注:曾经记得有本书上说可以通过vector来实现动态分配的内存的自动管理,但是经过试验,在gcc4.8.5下是不行的.这个是容易理解的,vec ...
- Windows环境下安装 mysql-8.0.11-winx64 遇到的问题解决办法
下载mysql安装包,我的是下载mysql-8.0.11-winx64,解压到你想安装的目录下,然后配置环境(window环境下,mac本还没试过), 1.首先,配置环境:右击此电脑->属性-& ...
- java中的编译时与运行时
----?基础知识 -- 编译时 编译器将源代码翻译成机器能够读懂的代码,如java中就是翻译成jvm能够读懂的字节码文件.简单说,编译时就是机器帮我们检查代码是否有出现语法错误,关键字写错之类的 ...
- 文本三剑客之awk
awk和流编辑器sed在工作原理和用法上有很多类似之处,它们都是检查输入数据中的行是否匹配指定的模式,如果匹配成功就对匹配的行执行相应的操作,重复这个过程直到所有的输入数据都被处理完,因此awk和se ...
- 关于linux安装kettle的总结
一.部署准备 1.1 JDK安装配置 命令行键入“cd /etc”进入etc目录 命令行键入“vi profile”打开profile文件 敲击键盘ctrl+F到文件末尾 在末尾处,即第一个~的地方, ...
- python_函数递归
函数递归 函数递归:函数的递归调用,即在函数调用的过程中,又直接或间接地调用了函数本身 # import sys # print(sys.getrecursionlimit()) # sys.setr ...
- python 以及 pywin32添加注册表
python 添加注册表信息: import sys from winreg import * # tweak as necessary version = sys.version[:3] insta ...
- LeetCode(22)Generate Parentheses
题目 Given n pairs of parentheses, write a function to generate all combinations of well-formed parent ...
- 关于markdown 的简单使用(已更新)
markdown的介绍 Markdown是一种可以使用普通文本编辑器编写的标记语言,通过类似HTML的标记语法,它可以使普通文本内容具有一定的格式. Markdown具有一系列衍生版本,用于扩展Mar ...
- CentOS 7下安装Composer + Laravel
1.wget https://dl.laravel-china.org/composer.phar -O /usr/local/bin/composer chmod a+x /usr/local/bi ...