原题链接:https://www.luogu.org/problemnew/show/P3390

【模板】矩阵快速幂

题目背景

矩阵快速幂

题目描述

给定n*n的矩阵A,求A^k

输入输出格式
输入格式:

第一行,n,k

第2至n+1行,每行n个数,第i+1行第j个数表示矩阵第i行第j列的元素

输出格式:

输出A^k

共n行,每行n个数,第i行第j个数表示矩阵第i行第j列的元素,每个元素模10^9+7

输入输出样例
输入样例#1:

2 1
1 1
1 1

输出样例#1:

1 1
1 1

说明

n<=100, k<=10^12, |矩阵元素|<=1000 算法:矩阵快速幂

题解

我就学习学习非递归的矩阵快速幂。

代码
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int M=105,mod=1e9+7;
ll n,k;
struct matrix{ll sq[M][M];matrix(){memset(sq,0,sizeof(sq));}}mat,one;
matrix operator *(matrix a,matrix b)
{matrix c;for(int i=1;i<=n;++i)for(int j=1;j<=n;++j)for(int k=1;k<=n;++k)(c.sq[i][j]+=a.sq[i][k]*b.sq[k][j]%mod)%=mod;return c;
}
matrix power(matrix x,ll p)
{matrix ans=one;for(;p;p>>=1,x=x*x)if(p&1)ans=ans*x;return ans;
}
void in()
{scanf("%lld%lld",&n,&k);for(int i=1;i<=n;++i)for(int j=1;j<=n;++j)scanf("%lld",&mat.sq[i][j]);
}
void ac()
{for(int i=1;i<=n;++i)one.sq[i][i]=1;mat=power(mat,k);for(int i=1;i<=n;++i,putchar(10))for(int j=1;j<=n;++j)printf("%lld ",mat.sq[i][j]);
}
int main(){in();ac();}

Luogu3390 【模板】矩阵快速幂相关推荐

  1. POJ3420 Quad Tiling(模板+矩阵快速幂)

    Quad Tiling Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 4107 Accepted: 1878 Descripti ...

  2. POJ3070 矩阵快速幂模板

    题目:http://poj.org/problem?id=3070 矩阵快速幂模板.mod写到乘法的定义部分就行了. 别忘了 I ( ) 和 i n i t ( ) 要传引用! #include< ...

  3. 43行代码AC_HDU-2604 Queuing(矩阵快速幂,附详细的知识讲解、模板例题)

    一道经典的矩阵快速幂模板题. 传送门1-->快速幂基本思想 传送门2-->矩阵快速幂讲解(教主传授) 传送门3.1-->HDU-1575(经典矩阵快速幂模板题1) 传送门3.2--& ...

  4. 矩阵快速幂及斐波那契数列模板

    本篇博客先给出矩阵快速幂以及利用矩阵快速幂求斐波那契数列的模板,讲解待更新-- const int N=10; int tmp[N][N]; void multi(int a[][N],int b[] ...

  5. 算法分类整理+模板①:矩阵快速幂

    一直有一个想法,感觉自己很多基础算法不是很扎实,想要找个机会写一些算法的整理,顺便自己总结一些实用的模板. 最近偶然在训练赛中连续做了2道思维+矩阵快速幂的题目,碰巧有时间,就以矩阵快速幂作为这个系列 ...

  6. AtCoder abc256全题解(区间合并模板、矩阵快速幂优化dp、线段树……)

    文章目录 A B C-枚举 D-区间合并模板 E-图论建模,函数图的性质 题意 思路 代码 F-树状数组 题意 思路 代码 G-矩阵快速幂优化dp H-线段树 思路 实现 传送门 本文CSDN 本文j ...

  7. 【洛谷P3390】 矩阵快速幂(模板)

    贴一下矩阵快速幂的模板 #include<iostream> #include<cstdio> #include<cstring> #include<stri ...

  8. 快速幂+矩阵快速幂模板

    快速..运算 快速幂 运用位运算 代码 分析 矩阵快速幂 题目 分析 代码 拓一..: 快速幂 运用位运算 强大的位运算把我搞得蒙蒙的 理解了之后我表示很喜欢!!! 代码 int power(int ...

  9. POJ 3070 Fibonacci(矩阵快速幂入门、模板)

    ? 题目链接:http://poj.org/problem?id=3070 ?   这题就是让求斐波那契数列的第n项,但是题目中n很大,所以打表和直接求都会TLE,对于这个题我们可以用矩阵快速幂,下面 ...

  10. 洛谷P3390 【模板】矩阵快速幂

    传送门 从今天开始学习矩阵快速幂.jpg 1 //minamoto 2 #include<iostream> 3 #include<cstdio> 4 #include< ...

最新文章

  1. 海康威视智能机器人泊车_干货|海康威视智能停车场管理系统(含技术指导手册+施工图)...
  2. 操作系统(二十三)生产者消费者问题
  3. java 输出当月日历_java 实现打印当前月份的日历
  4. STM32单片机一个定时器输出不同频率PWM波
  5. OneNote中到底能放多少种东西?
  6. reactnative资源
  7. lisp将图元追加选择_AutoLISP入门7 - 图元资料的取得与活用技巧(二)
  8. python pdf模块_用于将PDF转换为文本的Python模块
  9. STM32F103ZET6(野火霸道v2)串口烧录(mcuisp)
  10. CocosBuilder
  11. 关于4442卡的读密码问题
  12. Debian安装软件商店-Debian的GUI软件管理
  13. 含辞未吐,声若幽兰,史上最强免费人工智能AI语音合成TTS服务微软Azure(Python3.10接入)
  14. mybatis中的when,then,end的用法
  15. 基于Web的个人网页响应式页面设计与实现 HTML+CSS+JavaScript(web前端网页制作课作业)
  16. UI设计课程教程分享:Banner的设计和技巧
  17. Activiti7-流程初体验
  18. banner中居中的page显示完全,其余显示百分之20--仿网易云首页轮播图
  19. 电脑上有哪些好用的视频剪辑软件
  20. ES查询原理:倒排索引

热门文章

  1. pause容器作用_Kubernetes pod里一个特殊的容器:pause-amd64
  2. 使用MagicRecon在挖洞时最大化数据收集量
  3. maven指定配置文件
  4. androidid什么时候会变_高瓷绿松石是什么意思?为何绿松石的瓷度要比颜色重要?...
  5. oracle创建表空间并赋予权限
  6. J2EE基础之EJB
  7. mac关闭开机启动时的客人用户
  8. 黑马程序员——OC学习小结------成员变量以及对应的set、get方法
  9. matlab 中try/catch语句
  10. ASP.Net中防止页面刷新重复提交的几种方法