矩阵快速幂
来源:互联网 发布:云南作风评议网络投票 编辑:程序博客网 时间:2024/06/14 05:43
矩阵快速幂,原理与整数的快速幂一模(mu)一样,只是在运算的时候是对矩阵进行运算
Code :
////矩阵快速幂////能够进行幂运算的矩阵一定都是行与列元素个数相等的矩阵#include<bits/stdc++.h>using namespace std;int n;struct Matrix{ int mat[20][20];};Matrix Matrix_Mul(Matrix m1, Matrix m2){ Matrix mm; memset(mm.mat, 0, sizeof(mm.mat)); for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) for(int k = 0; k < n; k++) mm.mat[i][j] += (m1.mat[i][k] * m2.mat[k][j]); return mm;}Matrix Matrix_Pow(Matrix m, int k){ Matrix ans; // int ans = 1; for(int i = 0; i < n; i++) { memset(ans.mat[i], 0, sizeof(ans.mat[i])); ans.mat[i][i] = 1; } while(k != 0) { if(k & 1) ans = Matrix_Mul(ans, m); //ans *= m; m = Matrix_Mul(m, m); // m*= m; k >>= 1; } return ans;}int main(){ Matrix mm; scanf("%d", &n); //n行 能进行快速幂运算的都是方阵; for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) scanf("%d", &mm.mat[i][j]); int k; scanf("%d", &k); mm = Matrix_Pow(mm, k); for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) cout << mm.mat[i][j] << " "; cout << endl; } return 0;}
这回就美滋滋的开始进行利用吧!!
![偷笑](http://static.blog.csdn.net/xheditor/xheditor_emot/default/titter.gif)
阅读全文
0 0
- 快速矩阵快速幂
- 转移矩阵+矩阵快速幂
- 矩阵乘法 矩阵快速幂
- 构造矩阵+矩阵快速幂
- 矩阵快速幂,矩阵加法,矩阵乘法
- 快速幂||矩阵快速幂
- 快速幂&矩阵快速幂
- 快速幂,矩阵快速幂
- 快速幂 矩阵快速幂
- 快速幂&矩阵快速幂
- 【快速幂】【矩阵快速幂】
- 快速幂和快速矩阵
- poj3070--矩阵 快速幂
- POJ3233矩阵快速幂
- poj3070Fibonacci 矩阵快速幂
- 矩阵的快速幂
- 矩阵快速幂
- 矩阵的快速幂
- Android 数据库综述(二) 程序计算器与信号量来处理多线程并发问题
- 阿里iOS三面
- Hibernate的OID和对象导航查询
- 光照贴图
- 20171017测试
- 矩阵快速幂
- 管理网络
- Kafka主要参数详解
- C 条件编译
- centos 7.3 设置静态IP或ping 报name or service not known
- 最新管家婆财贸双全.NET V17.0免狗破解
- 用java打包成jar可执行文件并执行windows定时任务
- 手动makecpb的方法
- Duplicate files copied in APK META-INF/