51nod 1113 矩阵快速幂 模板
第1行:2个数N和M,中间用空格分隔。N为矩阵的大小,M为M次方。(2 <= N <= 100, 1 <= M <= 10^9) 第2 - N + 1行:每行N个数,对应N * N矩阵中的1行。(0 <= N[i] <= 10^9)
共N行,每行N个数,对应M次方Mod (10^9 + 7)的结果。
2 3 1 1 1 1
4 4 4 4
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=110;
const int MOD=1e9+7;
#define mod(x) ((x)%MOD)
int n;
struct mat
{int m[maxn][maxn];
}unit;
mat operator * (mat a,mat b)
{mat ret;ll x;for(int i=0;i<n;i++){for(int j=0;j<n;j++){x=0;for(int k=0;k<n;k++)x+=mod((ll)a.m[i][k]*b.m[k][j]);ret.m[i][j]=mod(x);}}return ret;
}
void init_unit()
{for(int i=0;i<maxn;i++)unit.m[i][i]=1;return;
}
mat pow_mat(mat a,ll n)
{mat ret=unit;while(n){if(n&1) ret=ret*a;a=a*a;n>>=1;}return ret;
}
int main()
{ll x;init_unit();while(cin>>n>>x){mat a;for(int i=0;i<n;i++)for(int j=0;j<n;j++)cin>>a.m[i][j];a=pow_mat(a,x);for(int i=0;i<n;i++){for(int j=0;j<n;j++){if(j+1==n) cout<<a.m[i][j]<<endl;else cout<<a.m[i][j]<<" ";}}}return 0;
}
51nod 1113 矩阵快速幂 模板相关推荐
- 51nod 1113 矩阵快速幂 模板题
1113 矩阵快速幂 基准时间限制:3 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 给出一个N * N的矩阵,其中的元素均为正整数.求这个矩阵的M次方.由于M次方的计 ...
- 51nod 1113 矩阵快速幂
1113 矩阵快速幂 基准时间限制:3 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 给出一个N * N的矩阵,其中的元素均为正整数.求这个矩阵的M次方.由于M次方的计算结果太大 ...
- 51nod 1113 矩阵快速幂【裸题】【内含黑科技】
1113 矩阵快速幂 基准时间限制:3 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 给出一个N * N的矩阵,其中的元素均为正整数.求这个矩阵的M次方.由于M次方的计算结果太大 ...
- 51nod 1113 矩阵快速幂 (矩阵的n次方)
给出一个N * N的矩阵,其中的元素均为正整数.求这个矩阵的M次方.由于M次方的计算结果太大,只需要输出每个元素Mod (10^9 + 7)的结果. Input 第1行:2个数N和M,中间用空格分隔. ...
- POJ3070 矩阵快速幂模板
题目:http://poj.org/problem?id=3070 矩阵快速幂模板.mod写到乘法的定义部分就行了. 别忘了 I ( ) 和 i n i t ( ) 要传引用! #include< ...
- 快速幂+矩阵快速幂模板
快速..运算 快速幂 运用位运算 代码 分析 矩阵快速幂 题目 分析 代码 拓一..: 快速幂 运用位运算 强大的位运算把我搞得蒙蒙的 理解了之后我表示很喜欢!!! 代码 int power(int ...
- How many ways?? - hdu2157(矩阵快速幂-模板)
分析:求Map^k,刚开始没有用快速幂,TLE了 代码如下: =================================================================== ...
- 51nodoj 1113 矩阵快速幂
题目连接 基准时间限制:3 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 给出一个N * N的矩阵,其中的元素均为正整数.求这个矩阵的M次方.由于M次方的计算结果太大, ...
- (转)矩阵快速幂模板
大佬博客:https://blog.csdn.net/baidu_23081367/article/details/52347256 代码: const int mat_size = 5;//矩阵大小 ...
最新文章
- 【GIT】Github上传本地代码详解
- 成为Java GC专家(5)—Java性能调优原则
- Qt 模型视图框架解读之模型
- SocketIO-nio
- C语言高级编程:extern用法
- (转)用 Fiddler 看看 UpdatePanel 发生了什么
- AngularJs学习的前景及优势
- 在win7 64位上安装VS2015的问题汇总
- HSqlDB认识及使用
- Nginx作为静态资源服务器
- golang ——An existing connection was forcibly closed by the remote host.
- 北斗短报文通信原理及功能介绍
- 计算机是好是坏英语作文,电脑游戏是好还是坏英语作文
- 关联规则分析(频繁项集查找方法为apriori方法的Fk-1*Fk-1)
- 设置时区serverTimezone
- 纯CSS实现对话气泡(MD.5)
- 定时轮播Echarts造成内存泄漏致使浏览器崩溃问题
- 在Keil4中新建51单片机工程模板详细步骤
- 小程序实现图片的浏览,缩放大小
- pdf怎么压缩,好用的pdf压缩工具介绍