矩阵快速幂
来源:互联网 发布:如何成为首富 知乎 编辑:程序博客网 时间:2024/06/05 18:17
今天是ACM校内赛。虽然我没学过OI,没有退役的感觉,但很有可能之后就不打ACM了。
这里很感谢队友的帮助,过了2道题,有希望拿奖。
自己做的是F题,求
一下子想到初中数学竞赛,
怎么证的?求出递推方程
那么怎么求呢?说来真是一段历史。
初中时我会递推地求,至少比硬算快,高中时我会求出用特征方程通项公式,厉害吧,现在的我,已然是程序员视角,会用矩阵快速幂。
初中的算法是
何为快速幂,就是二分法,算分课讲过这个分治思想,但具体实现可以借助位运算。有些时候,算法的思想和具体实现有不小的差距。
matrix power(int n){ matrix ans=initial; matrix c; while(n){ if(n&1) ans=mult(ans,c); n>>=1; c=mult(c,c); } return ans;}
可以参考这里
以及这里
算法的原理是显然的,降为对数级。
至于
我因为要偷懒,只写一个2级矩阵乘法的函数,就这样写了,事实上可以是个2级矩阵乘以列向量。
于是写个矩阵乘法,即可矩阵快速幂。
通常需要取模运算,就每一步对元素取模,如果是负数,可加上模数,以及long long是最后debug的关键。
码这题时我在想去年ACM室友说有一题是矩阵快速幂,忘了怎么写了,最后遗憾地放弃。于是一年里我一直记得快速幂,没想到今年又考到了,这是一种轮回。但不同的是,我进步了。
阅读全文
0 0
- 快速矩阵快速幂
- 转移矩阵+矩阵快速幂
- 矩阵乘法 矩阵快速幂
- 构造矩阵+矩阵快速幂
- 矩阵快速幂,矩阵加法,矩阵乘法
- 快速幂||矩阵快速幂
- 快速幂&矩阵快速幂
- 快速幂,矩阵快速幂
- 快速幂 矩阵快速幂
- 快速幂&矩阵快速幂
- 【快速幂】【矩阵快速幂】
- 快速幂和快速矩阵
- poj3070--矩阵 快速幂
- POJ3233矩阵快速幂
- poj3070Fibonacci 矩阵快速幂
- 矩阵的快速幂
- 矩阵快速幂
- 矩阵的快速幂
- Linux进程间通信之管道
- HDU5550
- 射频放大器设计难点
- SuperMap杯全国高校GIS大赛-桌面与组件开发组学习资料
- Qt Post上传图片文件到服务器
- 矩阵快速幂
- OkHttp 3.7源码分析(五)——连接池
- 一个多继承的Python实例
- 求职
- Oralce学习总结--oracle建表和约束
- Ubuntu14.04安裝PostgreSQL9.5+3DCityDB_v3.3.1+3dcitydb-web-map-client
- 面向对象基础
- 实现类似塔读掌阅的Toast
- 「游族杯」上海市高校程序设计邀请赛暨华东师范大学第九届 ECNU Coder 程序设计竞赛 A. 足球锦标赛