51nod 1113 矩阵快速幂 模板题
Input
第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)
Output
共N行,每行N个数,对应M次方Mod (10^9 + 7)的结果。
Input示例
2 31 11 1
Output示例
4 44 4
#include <bits/stdc++.h>
#define LL long long
using namespace std;
const int AX = 1e2+66;
const int MOD = 1e9+7;
int n,m;
struct Matrix{LL a[AX][AX];
}ori,res;Matrix operator * ( Matrix x , Matrix y ){Matrix temp ;LL xx;for( int i = 0 ;i < n ; i++ ){for( int j = 0 ; j < n ; j ++ ){xx = 0LL ;for( int k = 0 ; k < n; k++ ){xx += x.a[i][k] % MOD * y.a[k][j] % MOD;}temp.a[i][j] = xx % MOD;}}return temp;
}/*Matrix multiply( Matrix x , Matrix y ){Matrix temp ;memset( temp.a , 0 ,sizeof(temp.a));for( int i = 0 ; i < n ; i ++ ){for( int j = 0 ; j < n ; j ++ ){for( int k = 0 ; k < n ; k ++ ){temp.a[i][j] += x.a[i][k] % MOD *y.a[k][j] % MOD;temp.a[i][j] %= MOD;}}}return temp;
}*/void cal( int b ){while( b ){if( b & 1 ) res = res * ori ;b >>= 1;ori = ori * ori ;}for( int i = 0 ; i < n ;i ++ ){for( int j = 0 ; j < n ; j++ ){cout << res.a[i][j] << ' ' ;}cout << endl;}
}void init(){//memset(res.a , 0 , sizeof(res.a));for( int i = 0 ; i < n ; i++ ){res.a[i][i] = 1;}return ;
}int main(){ cin >> n >> m ;init();for( int i = 0 ; i < n ; i ++ ){for( int j = 0 ; j < n ; j++ ){cin >> ori.a[i][j];}}cal(m); return 0 ;
}
51nod 1113 矩阵快速幂 模板题相关推荐
- 51nod 1113 矩阵快速幂 模板
给出一个N * N的矩阵,其中的元素均为正整数.求这个矩阵的M次方.由于M次方的计算结果太大,只需要输出每个元素Mod (10^9 + 7)的结果. Input 第1行:2个数N和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< ...
- 又见斐波那契~矩阵快速幂入门题
链接:https://www.nowcoder.com/acm/contest/105/G 来源:牛客网 题目描述 这是一个加强版的斐波那契数列. 给定递推式 求F(n)的值,由于这个值可能太大,请对 ...
- 快速幂+矩阵快速幂模板
快速..运算 快速幂 运用位运算 代码 分析 矩阵快速幂 题目 分析 代码 拓一..: 快速幂 运用位运算 强大的位运算把我搞得蒙蒙的 理解了之后我表示很喜欢!!! 代码 int power(int ...
- POJ3070矩阵快速幂简单题
题意: 求斐波那契后四位,n <= 1,000,000,000. 思路: 简单矩阵快速幂,好久没刷矩阵题了,先找个最简单的练练手,总结下矩阵推理过程,其实比较简单,关键 ...
- 51nodoj 1113 矩阵快速幂
题目连接 基准时间限制:3 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 给出一个N * N的矩阵,其中的元素均为正整数.求这个矩阵的M次方.由于M次方的计算结果太大, ...
最新文章
- php 安装redis php扩展
- 锋利的JQuery学习笔记01
- TensorFlow + Docker + PyCharm
- 社区医学的研究方法:调查、流行病学研究、方案评估、临床试验Research Methods in Community Medicine: Surveys, Epidemiological Resear
- MSF(四):常用弱点扫描模块
- 在数据中心空间进行测试
- 前端学习(1333):mongodb增
- android 查询所有图片和视频,Android系统详解之获取图片和视频的缩略图
- LINUX下载编译libffi
- win7计算机搜索记录怎么删除文件,win7删除文件浏览记录,windows搜索记录删除
- Unity中更改鼠标光标样式
- uniapp H5文件预览,PDF预览
- 怎么打开系统服务器,Win10怎么打开系统服务管理器 Win10打开系统服务管理器操作方法...
- 惯性导航学习笔记——惯性技术基础知识
- 实变函数与泛函分析课本pdf_免费推荐几本实变函数和泛函分析的书
- Linux下的图片编辑软件
- win10添加打印机--无法访问指定设备,路径或文件。。
- ED2k下载工具电驴0.44b简体中文
- html需要环境,环境.html
- 大数据可视化热门工具
热门文章
- 小涛python学习路程-(2)编程基本概念
- oracle实验报告4:Oracle数据库模式对象管理(含实验小结)
- 2021年基金从业资格考试时间及报名时间
- 力扣 378. 有序矩阵中第 K 小的元素
- go语言编写php扩展,[原创]快速开发一个PHP扩展-Go语言中文社区
- mesh和wifi中继的区别_一文看懂Mesh路由和无线中继的差异
- 状态同步和帧同步的优缺点
- 编写ESM风格的nodejs应用
- mysql怎么设置每天定时清表_Mysql每天定时清空表
- Kubernetes kube-proxy 如何与 iptables 完美配合使用