51nod 1113 矩阵连乘快速幂模板 (对100000007取模)
来源:互联网 发布:java document类 编辑:程序博客网 时间:2024/06/04 00:50
题目:点击打开链接
#include<cstdio>#include<cmath>#include<algorithm>#define ll long long#define M 1000000007using namespace std;const int maxn=105;int N;struct mat{ ll m[maxn][maxn];};mat A,I;void init(){ for(int i=0;i<N;i++) for(int j=0;j<N;j++){ scanf("%lld",&A.m[i][j]); A.m[i][j]%=M; I.m[i][j]=(i==j); }}mat multi(mat a,mat b){ mat c; for(int i=0;i<N;i++) for(int j=0;j<N;j++){ c.m[i][j]=0; for(int k=0;k<N;k++) c.m[i][j]+=a.m[i][k]*b.m[k][j]%M; c.m[i][j]%=M; } return c;}mat power(mat A,int k){ mat ans=I,p=A; while(k){ if(k&1){ ans=multi(ans,p); k--; } k>>=1; p=multi(p,p); } return ans;}int main(){ int k; scanf("%d%d",&N,&k); init(); mat ans=power(A,k); for(int i=0;i<N;i++){ printf("%lld",ans.m[i][0]); for(int j=1;j<N;j++) printf(" %lld",ans.m[i][j]); printf("\n"); } return 0;}
阅读全文
0 0
- 51nod 1113 矩阵连乘快速幂模板 (对100000007取模)
- 矩阵快速幂(矩阵连乘)
- 斐波拉契数列矩阵连乘(模板)
- 模版—矩阵连乘快速幂
- 矩阵连乘算法模板
- 51nod 1021 石子归并(dp-矩阵连乘)
- 51nod 1113 矩阵快速幂(模板题)
- hdu3306Another kind of Fibonacci(矩阵连乘&矩阵快速幂)
- BZOJ-3231 递归数列 矩阵连乘+快速幂
- 【个人模板】 快速幂取模,矩阵快速幂,快速乘
- 快速乘 + 快速幂 + 取模
- poj 3735 Training little cats 构造矩阵+稀疏矩阵加速连乘+矩阵快速幂
- 51nod 1113矩阵快速幂
- 51nod-1113 矩阵快速幂
- 51nod 1113 矩阵快速幂
- 51Nod 1113 矩阵快速幂
- 51nod 1113 矩阵快速幂
- 51nod--1113 矩阵快速幂
- python中的保护对象数据
- Uploading Files
- Enabling data compression on an IBM HTTP Server(IBM HTTP Server配置GZIP)
- 设计模式讲解与代码实践(十二)——享元
- java 集合汇总
- 51nod 1113 矩阵连乘快速幂模板 (对100000007取模)
- python中__del__使用方法
- 1702-MySQL-C3P0连接池实例
- hdu 4081 Qin Shi Huang's National Road System
- BUGKU上几道有意思的题
- 背包问题
- DDoS
- *打印菱形
- Elasticsearch中fielddata_cache的实现