矩阵乘法学习摘记

​ ——JZYshuraK 18.4.8

http://www.matrix67.com/blog/archives/276

例题1

​ 为什么一定要将本来只有两维的点设为一个\(1\cdot 3​\)矩阵,原因在于,我们在处理所有操作时,必须使得每一个操作矩阵都是正方形(显然),然后加法矩阵需要有一维使得和坐标的另一维乘积为0,而且必须点当中有一维为1,才能实现加法操作。然后,所有矩阵必须都是等大的,进而,所有本可以2*2的矩阵被强行扩大到3*3。

例题2

​ 虽然矩阵不是数,但是它可以相乘。快速幂的本质其实是指数的二进制拆分,对于相乘元素只要可以相乘即可。快速幂中所有元素都是相等的,不存在什么交换律结合律什么的。

例题3

​ 其实并不是什么二分,知道了元素个数可以O(1)知道中间元素,如果是就是就把它单独拎出来算掉,然后递归即可。
考试的时候碰见了一道题,范围是\(10^18\).
有两种做法
我的做法是对于任意的n,将需要单独拎出来的下标存在一个数组里,然后预处理出来。直接处理显然会T。我们发现,每一个数a[i+1]和a[i]的关系很简单,无非就是2,2+1,*2-1。除了-1我们都可以直接×2,然后再扯。对于-1的情况,我在开始dp的时候就弄一个Shadow矩阵,是\(T^{a[i]-1}\)。这样的话,我无论下一个数是不是-1的情况,我都让这个Shadow矩阵一直跟着我们dp的指针。这样的话,我们就处理掉了-1的情况,时间复杂度变成了log
题解的做法是在快速幂的时候直接得到答案。做法是这样的:首先,为什么快速幂能恰好将n算完整?因为我们相当于将n二进制拆分,之后对于是1的情况单独处理。而这里,我们在快速幂的时候顺便将sum矩阵跟着求出来即可。-----------------2018.7.7

例题4

​ 其实这道题可以用Matrix67的方法,最本质的原因是这是置换。这意味着什么?意味着我的操作矩阵和原序列是毫无关系的qwq,所以可以矩阵乘法加快速幂,即可。

例题5

​ 细菌和上一题类似,操作矩阵和原来培养皿里面呆着多少小东西并没有多大关系。所以我把原序列扔进数组,然后撇到一边。可以在线处理(离线MLE)矩阵,然后快速幂即可。最后将操作答案矩阵和原序列相乘,即可。

例题6

​ 求Fibonacci第n项,n是\(2^{31}-1\) (这反倒是我矩乘第一题)。这种问题可以得以解决关键在于这个递推法则是固定的,而且和当前元素下标无关(如果和下标有关,那么操作矩阵中必须存在变量,这样就不符合快速幂的本质(交换律))。

例题7

​ 显然,通过这道题,我们可以大致的猜想到:任意的\(a_n=\sum\limits_{i=n-sum+1}^{n-1} H_i\cdot a_i\) ,(H是固定系数,sum是固定递推项数),都可以通过矩阵快速幂解决。

例题8

​ JLOI2018 D2 T1裸题

​ 就是说构造邻接矩阵时候,我们矩阵中i行j列的元素,在第k个答案矩阵上,表示从i到j花费k步的方案数。然后。然后,将当前答案矩阵乘上原来的邻接矩阵,如果能对当前点有更新,当且仅当两点之间连边。

​ 即:\(a_{i,j,k}=\sum\limits_{mid=1}^{n}a_{i,mid,k-1}\cdot c_{mid,j}\) 其中,\(a_{i,j,k}\) 表示从i到j用k步的方案数,mid可以看做枚举到达j的上一个点,\(c_{i,j}\) 表示两点是否连通。这恰好枚举了所有情况,其中\(c_{i,i}\) 为0。

​ 之后,求邻接矩阵的k次快速幂,询问的话,输出答案即可。

例题9

​ 额外链接http://blog.sina.com.cn/s/blog_77dc9e08010176nf.html

​ 和例题8类似,只不过这题的邻接矩阵的建立需要花一份儿功夫,建立了所谓的邻接矩阵之后,快速幂即可。

例题10

​ 特别地,我们对于两个病毒片段的转移构造邻接矩阵(详情说的很清楚)。然后同理,矩乘快速幂即可。

转载于:https://www.cnblogs.com/ShuraK/p/8747419.html

矩阵学习摘记,欢迎指正相关推荐

  1. Metric Learning度量学习:**矩阵学习和图学习

    DML学习原文链接:http://blog.csdn.net/lzt1983/article/details/7884553 一篇metric learning(DML)的综述文章,对DML的意义.方 ...

  2. 【矩阵学习】Jacobian矩阵和Hessian矩阵

    [矩阵学习]Jacobian矩阵和Hessian矩阵 Jacobian 矩阵 Jacobian 行列式 Hessian 矩阵 Hessian 在牛顿法中的应用 Jacobian 矩阵 在向量分析中, ...

  3. [DeeplearningAI笔记]序列模型2.3-2.5余弦相似度/嵌入矩阵/学习词嵌入

    5.2自然语言处理 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.3词嵌入的特性 properties of word embedding Mikolov T, Yih W T, Zwe ...

  4. 3D 投影矩阵学习1

    先看一下名词: 在矩阵数学中,也有一个名词叫投影矩阵,其定义为:     若矩阵A既是对称矩阵,又是幂等矩阵,则称A为投影矩阵. 这里说的是3D世界中的投影矩阵:其作用是帮助把3D物体显示在2维计算机 ...

  5. 线性代数:特殊矩阵学习笔记

    方形矩阵,上三角矩阵.下三角矩阵 对角线矩阵.单位阵.零矩阵 矩阵转置.对称阵

  6. 线性代数:矩阵学习笔记

    矩阵用大写字母表示,向量用小写黑体字母表示.向量也是矩阵. 矩阵运算

  7. 数学基础——矩阵学习

    百人计划的新视频更新啦!看完之后立马笔记做好,视频连接 什么是矩阵 一个 M x N 的矩阵是由M行N列匀速排序成的矩形阵列 特殊矩阵 方阵: 行数和列数都相等,即M和N相等,也称作N阶矩阵或者N阶方 ...

  8. matlab矩阵学习—郭彦甫老师笔记

    调用矩阵中数字 Aray Indexing 法一     A(3,2) 显示的为row3 col2:  A([1 3],[1 3])→交集 显示row1 col1   row1 col3; row3 ...

  9. OpenGL矩阵学习

    Matrix Overview OpenGL中的坐标系 World Coordinates(世界坐标系) Object Coordinates(对象坐标系.模型坐标系.局部坐标系或当前绘图坐标系) E ...

最新文章

  1. Android 异步加载图片分析
  2. 在Source Insight中看Python代码
  3. Mysql索引命中问题
  4. springsession 实现session 共享
  5. JDK6 中队web service的支持
  6. jsp session
  7. window safari 怎么进入响应式_响应式网站怎么做?模板教程来了
  8. FISCO BCOS流量控制实现
  9. win11安装虚拟机
  10. Mac/Win 下浏览器网页长截屏(不安装截图软件实现)
  11. RHCE(一、二)nmcli命令学习、Linux例行性工作命令atd和crond学习
  12. 清华计算机学院博士后,清华大学博士后
  13. 【笔记】【一文解决】linux - grep、sed、awk 『三剑客』
  14. 2011年11月编程语言排行榜:Objective-C有望成为2011年年度编程语言。
  15. 三维地下管线系统(skyline)
  16. 原创超简单代码(1.18.50)
  17. 诺基亚 and 微软,两只大象能否共舞?
  18. 百度CTO王海峰:亚洲丰富实践场景推动AI技术落地探索
  19. 【博客126】( 二 ) 使用libgc库来帮你管理内存
  20. centos7.4下Jira6环境部署及破解操作记录(完整版)

热门文章

  1. 正则表达式快速入门,转载
  2. [数分提高]2014-2015-2第9教学周第1次课 (2015-04-28)
  3. Asp.net创建伪静态页面
  4. Windows Media Center .MCL文件代码执行漏洞(MS16-059)
  5. javascript之闭包理解以及应用场景
  6. MySQL数据高级查询之连接查询、联合查询、子查询
  7. C\C++与Java中的static关键字
  8. Windows下Qt5搭建Android开发环境笔记
  9. mac与phy如何实现网络自适应
  10. FFT快速傅式变换算法halcon算子,持续更新