51nod 1113 矩阵快速幂
题目链接:51nod 1113 矩阵快速幂
模板题,学习下。
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long ll;
const int N = ;
const int mod = 1e9+;
int n, m;
struct Mat{//矩阵
ll mat[N][N];
};
Mat operator * (Mat a, Mat b){//一次矩阵乘法
Mat c;
memset(c.mat, , sizeof(c.mat));
int i, j, k;
for(k = ; k <= n; ++k){
for(i = ; i <= n; ++i){
if(a.mat[i][k] <= ) continue;
for(j = ; j <= n; ++j){
if(b.mat[k][j] <= ) continue;
c.mat[i][j] += a.mat[i][k] * b.mat[k][j];
c.mat[i][j] %= mod;
}
}
}
return c;
}
Mat operator ^ (Mat a, int k){//矩阵快速幂,a^k
Mat c;
int i, j;
for(i = ; i <= n; ++i)
for(j = ; j <= n; ++j)
c.mat[i][j] = (i == j);//初始化为单位矩阵
while(k){
if(k & )
c = c * a;
a = a * a;
k >>= ;
}
return c;
}
int main(){
scanf("%d%d", &n, &m);
int i, j;
Mat a;
for(i = ; i <= n; ++i)
for(j = ; j <= n; ++j)
scanf("%lld", &a.mat[i][j]);
Mat c = a ^ m;
for(i = ; i <= n; ++i){
for(j = ; j < n; ++j)
printf("%lld ", c.mat[i][j]);
printf("%lld\n", c.mat[i][n]);
}
return ;
}
51nod 1113 矩阵快速幂的更多相关文章
- 51nod 1113 矩阵快速幂( 矩阵快速幂经典模板 )
1113 矩阵快速幂 链接:传送门 思路:经典矩阵快速幂,模板题,经典矩阵快速幂模板. /******************************************************* ...
- 51nod 1126 矩阵快速幂 水
有一个序列是这样定义的:f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7. 给出A,B和N,求f(n)的值. Input 输 ...
- 51Nod——T 1113 矩阵快速幂
https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1113 基准时间限制:3 秒 空间限制:131072 KB 分值: 40 ...
- NOD 1113矩阵快速幂
基准时间限制:3 秒 空间限制:131072 KB 分值: 40 给出一个N * N的矩阵,其中的元素均为正整数.求这个矩阵的M次方.由于M次方的计算结果太大,只需要输出每个元素Mod (10^ ...
- 51nod 矩阵快速幂(模板题)
1113 矩阵快速幂 基准时间限制:3 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 给出一个N * N的矩阵,其中的元素均为正整数.求这个矩阵的M次方.由于M次方的计算结果太大 ...
- 51nod 算法马拉松18 B 非010串 矩阵快速幂
非010串 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 如果一个01字符串满足不存在010这样的子串,那么称它为非010串. 求长度为n的非010串的个数.(对1e9+7取模) ...
- 51nod 1197 字符串的数量 V2(矩阵快速幂+数论?)
接上一篇,那个递推式显然可以用矩阵快速幂优化...自己随便YY了下就出来了,学了一下怎么用LaTeX画公式,LaTeX真是个好东西!嘿嘿嘿 如上图.(刚画错了一发...已更新 然后就可以过V2了 or ...
- 51Nod 1126 求递推序列的第N项(矩阵快速幂)
#include <iostream> #include <algorithm> #include <cmath> #define MOD 7 #define N ...
- 51nod 1122 机器人走方格 V4 【矩阵快速幂】
首先建立矩阵,给每个格子编号,然后在4*4的格子中把能一步走到的格子置为1,然后乘n次即可,这里要用到矩阵快速幂 #include<iostream> #include<cstdio ...
随机推荐
- Dynamics AX 2012 R2 业务系列-采购业务流程
在博文Dynamics AX R2 业务系列中,Reinhard对这个系列做了一个规划,下面我们就按照规划开始说业务吧. 国际惯例,从采购开始. 1.采购的主要职责 简单点说,采购的主要职责,是从供应 ...
- MVC Razor模板引擎 @RenderBody、@RenderPage、@RenderSection及Html.RenderPartial、Html.RenderAction
一.Views文件夹 -> Shared文件夹下的 _Layout.cshtml 母版页 @RenderBody 当创建基于_Layout.cshtml布局页面的视图时,视图的内容会和布局页面合 ...
- 结合Apache和Tomcat实现集群和负载均衡 JK 方式 2 (转)
本文Apache+Tomcat集群配置 基于最新的Apache和Tomcat,具体是2011年4月20日最新的Tomcat和Apache集群和负载均衡配置. 准备环境 Apache Apa ...
- fso查找被删除的文件
<html> <head> </head> <body> 源目录:<input id="txtOld" value=" ...
- 压测session优化
每请求一次jsp页面,会产生一个session对象,并且这个对象30分钟后才过期.我们计算了下当时的QPS是5000,也就是说每秒钟产生5000个session对象.每分钟产生300K个对象,sess ...
- R语言基本操作函数---变量的基本操作
1.变量变换 as.array(x),as.data.frame(x),as.numeric(x),as.logical(x),as.complex(x),as.character(x) ...
- 全球IP分布表
24.192.0.0 24.195.255.255 亚洲 61.0.0.0 61.255.255.255 亚洲 61.8.0.0 61.8.31.255 澳大利亚 61.128.0.0 61.143. ...
- css-position
值 描述 absolute 生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位. 元素的位置通过 "left", "top", " ...
- 一个简单的MySql数据库连接池的实现
package cn.hc.connectionPool; import java.io.IOException; import java.io.InputStream; import java.sq ...
- 修改客户端连接的服务器IP地址(内部使用)
登录系统时如果出现 “验证失败”,或者,无法登陆系统,请修改服务器端IP地址,修改方法如下: 注意: (1)修改服务器端IP地址时,要提前关闭/退出客户端.建议也看看“Windows的任务管理器”中是 ...