HDU1575(矩阵快速幂模板题)
来源:互联网 发布:商品排序权重算法 编辑:程序博客网 时间:2024/06/05 09:55
简单的矩阵快速幂,输入矩阵直接套模板做就行了。
code
#include<stdio.h>#include<string.h>#include<math.h>#include<algorithm>#include<iostream>#include<string>#include <set>#include<time.h>//a&3==a%4using namespace std ;#define ll long long#define mem(a) memset(a,0,sizeof(a))const double eps = 1e-8;const int maxn = 110010;const int inf = 0x3f3f3f3f;const ll mod=9973ll;struct matrix{ ll mat[10][10];//mat[i][j]=µÚiÐеÚjÁÐ matrix() { for(int i=0;i<10;i++) { for(int j=0;j<10;j++) { mat[i][j]=0ll; } } }};void out(matrix a,int n){ for(int i=0;i<n;i++) { for(int j=0;j<n;j++) { cout<<a.mat[i][j]<<" "; } cout<<endl; }}matrix multiply(matrix a,matrix b,int n){ matrix res; for(int i=0;i<n;i++) { for(int j=0;j<n;j++) { for(int k=0;k<n;k++) { res.mat[i][j]+=a.mat[i][k]*b.mat[k][j]%mod; res.mat[i][j]%=mod; } } } return res;}matrix quickmi(matrix a,ll b,int n){ matrix E; matrix res; for(int i=0;i<n;i++) { E.mat[i][i]=1; res.mat[i][i]=1; } E=multiply(a,E,n); while(b>0) { if(b%2==1) { res=multiply(res,E,n); } b=b/2; E=multiply(E,E,n); } return res;}int main(){; int _case; scanf("%d",&_case); while(_case--) { int n; ll k; matrix sum; scanf("%d",&n); cin>>k; for(int i=0;i<n;i++) { for(int j=0;j<n;j++) { ll a; cin>>a; sum.mat[i][j]=a; } } matrix res=quickmi(sum,k,n); ll sumres=0; for(int i=0;i<n;i++) { sumres=(sumres+res.mat[i][i])%mod; } cout<<sumres%mod<<endl; } return 0;}
阅读全文
0 0
- HDU1575(矩阵快速幂模板题)
- hdu1575 Tr A(矩阵快速幂模板题)
- hdu1575 Tr A(矩阵快速幂模板题)
- HDU1575[矩阵快速幂]模板
- hdu1575(矩阵快速幂入门题)
- HDU1575--Tr A(矩阵快速幂模板)
- 快速矩阵幂HDU1575
- 矩阵快速幂 HDU1575
- hdu1575(矩阵乘法快速幂)
- hdu1575 Tr A(矩阵快速幂)
- HDU1575 Tr A(矩阵快速幂)
- hdu1575 Tr A(矩阵快速幂)
- hdu1575 Tr A (矩阵快速幂)
- hdu1575 Tr A(矩阵快速幂)
- (矩阵快速幂)hdu1575 Tr A
- hdu1575(矩阵快速幂基础)
- HDU1575 矩阵快速幂入门
- hdu1575 TrA 矩阵快速幂
- 模拟 [ZJOI2008]杀蚂蚁antbuster
- Reflection2017.10.11
- shell脚本
- 滑雪
- 概念——静态库/动态库
- HDU1575(矩阵快速幂模板题)
- F
- 线段树、扫描线、离散化求面积并(hdu1542)
- 《Effective C++》读后总结(五)了解C++默默编写并调用哪些函数
- hdu 3333 Turing Tree(线段树/数状数组)或莫队算法
- 100行代码实现最简单的基于FFMPEG+SDL的视频播放器(SDL1.x)
- java包名命名规范
- Python练习一
- hdu 5985 Lucky Coins (概率)