关于矩阵快速幂の简单粗暴の理解
今天做题遇到了矩阵快速幂,找了半天博客都没看懂
最后还是看代码自己悟。所以这里我就把自己的理解
写出来,有不对的欢迎指正。
真正理解后感觉也就没几句话就讲完了,首先我们看
一下数的快速幂
ll Mypow(ll a,ll b)
{ll re = 1;while(b){if(b&1)re *= a;a *= a;b >>= 1;}return re;
}
数的快速幂我想大家都理解(如果不理解请自行百度),而矩阵快速幂和数类似,我们可以比较来理解。
先看看矩阵快速幂:
#define n 2;//矩阵大小 struct Matrix // 定义矩阵
{int a[n][n];Matrix(){memset(a,0,sizeof(a));}
};Matrix mul(Matrix a,Matrix b)//矩阵乘法
{Matrix ans;for(int i=0 ; i<n ; i++){for(int k=0 ; k<n ; k++){if(a.a[i][k])for(int j=0 ; j<n ; j++){ans.a[i][j]+=a.a[i][k]*b.a[k][j];}}}return ans;
}
Matrix Mypow(Matrix a,int N)
{Matrix re;for(int i=0 ; i<n ; i++)re.a[i][i] = 1;while(N){if(N&1)re = mul(re,a);a = mul(a,a);N >>= 1;}return re;
}
很明显,除了矩阵乘法,矩阵定义与普通的数不一样以外Mypow中的结构基本一样。只是一点,数的快速幂中最开始是1,而矩阵中是单位矩阵。
相关题链接:http://blog.csdn.net/vocaloid01/article/details/78155053
关于矩阵快速幂の简单粗暴の理解相关推荐
- POJ3070矩阵快速幂简单题
题意: 求斐波那契后四位,n <= 1,000,000,000. 思路: 简单矩阵快速幂,好久没刷矩阵题了,先找个最简单的练练手,总结下矩阵推理过程,其实比较简单,关键 ...
- HDU1757(矩阵快速幂+简单的矩阵构造)
很简单的矩阵构造看似很麻烦,其实直接写就ok了. ⎡⎣⎢⎢⎢⎢f(n)f(n−1)....f(n−9)⎤⎦⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢a100....0b0100c0010d0000e0000f00 ...
- 矩阵的乘法和快速幂的一些理解(适用初学者)
矩阵是线性代数的知识...后悔没好好学了... 第一部分:矩阵的基础知识 1.结合性 (AB)C=A(BC). 2.对加法的分配性 (A+B)C=AC+BC,C(A+B)=CA+CB . 3.对数乘的 ...
- 矩阵快速幂的最简单用法
矩阵快速幂 链接:https://ac.nowcoder.com/acm/contest/1168/K 来源:牛客网 题目描述 这个勇者明明超强却过分慎重,勇者龙宫院圣哉与n名冒险者一起去讨伐神秘魔物 ...
- CSUSTOJ-藤原书记想要探病(简单矩阵快速幂)
题目连接:http://acm.csust.edu.cn/problem/4044 博客园食用链接: https://www.cnblogs.com/lonely-wind-/p/13941879.h ...
- 【ZOJ 2974】Just Pour the Water(矩阵快速幂)
传送门:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2974 题意 给出n个杯子与初始水量同时进行操作 将其中的水同时平均 ...
- 矩阵快速幂的学习(系统的学习)
学习博客:https://www.cnblogs.com/cmmdc/p/6936196.html https://www.cnblogs.com/yan-boy/archive/2012/11/29 ...
- 快速幂或者矩阵快速幂
快速幂或者矩阵快速幂在算大指数次方时是很高效的,他的基本原理是二进制,下面的A可以是一个数也可以是一个矩阵(本文特指方阵),若是数就是快速幂算法,若是矩阵就是矩阵快速幂算法,用c++只需把矩阵设成一个 ...
- AtCoder abc256全题解(区间合并模板、矩阵快速幂优化dp、线段树……)
文章目录 A B C-枚举 D-区间合并模板 E-图论建模,函数图的性质 题意 思路 代码 F-树状数组 题意 思路 代码 G-矩阵快速幂优化dp H-线段树 思路 实现 传送门 本文CSDN 本文j ...
- 矩阵快速幂求斐波那契数列(初学整理)
参考文章: http://blog.csdn.net/u013795055/article/details/38599321 http://blog.csdn.net/g_congratulation ...
最新文章
- django mysql开发_【python-Django开发】Django 配置MySQL数据库讲解!!!
- java抽象工厂模式_Java 抽象工厂模式
- 一款好用的轮播插件swiper,适用于移动端和web
- 《Go语言圣经》学习笔记 第八章 Groroutines和Channels
- 【Git】git使用:新建仓库、管理分支、冲突解决
- Redis教程:事件、客户端和服务器
- 【miscellaneous】语音识别工具箱综述和产品介绍
- 华为8lite支持云闪付吗_2K/120Hz屏?华为P40Pro尊享版价格曝光 | 一加8曝4.15发布
- 【计算机网络基础】URI、URN和URL的区别
- Windows Server定时执行bat
- 2020公务员考试应届毕业生的身份界定
- ubuntu14.04编译ffmpeg的过程
- macd的python代码同花顺_史上最全MACD攻略讲解:这一篇足够
- ROS基础(三)——订阅者Subscriber编程实现
- 微信公众号登录的一些注意事项
- Docker 映射端口telnet不通
- Python抓取京东商城的所有笔记本电脑的参数
- 阿里云新增三大高性能计算解决方案,助力生命科学行业快速发展
- Dev-C++常用快捷键
- 基础篇:3.1.3)注塑件-机械紧固