博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ 3231: [Sdoi2008]递归数列 (JZYZOJ 1353) 矩阵快速幂
阅读量:5317 次
发布时间:2019-06-14

本文共 1498 字,大约阅读时间需要 4 分钟。

 
和斐波那契一个道理在最后加一个求和即可
1 #include
2 #include
3 #include
4 //using namespace std; 5 const int maxn=10010; 6 const double eps=1e-8; 7 long long modn; 8 long long n,l,r; 9 long long b[20]={};10 struct mat{11 long long e[20][20];12 mat(){ memset(e,0,sizeof(e)); }13 };14 mat a;15 mat Mul(mat x,mat y){16 mat z;17 for(int i=1;i<=n+1;i++){18 for(int j=1;j<=n+1;j++){19 for(int k=1;k<=n+1;k++){20 z.e[i][j]+=x.e[i][k]*y.e[k][j];21 z.e[i][j]%=modn;22 }23 }24 }25 return z;26 }27 mat Pow(mat x,long long k){28 mat z;29 for(int i=1;i<=n+1;i++){30 z.e[i][i]=1;31 }32 while(k>0){33 if(k&1){34 z=Mul(z,x);35 }36 x=Mul(x,x);37 k/=2;38 }/*for(int i=1;i<=n;i++){39 for(int j=1;j<=n;j++){40 std::cout<
<<' ';41 }42 std::cout<
1;i--){70 scanf("%lld",&a.e[n][i]);71 }72 long long l,r;73 scanf("%lld%lld%lld",&l,&r,&modn);74 for(int i=2;i<=n;i++){75 b[i]%=modn;76 a.e[i-1][i]=1;a.e[n][i]%=modn;77 }78 a.e[n+1][n+1]=1,a.e[n+1][n]=1;79 /*for(int i=1;i<=n+1;i++){80 for(int j=1;j<=n+1;j++){81 std::cout<
<<' ';82 }83 std::cout<
View Code

 

转载于:https://www.cnblogs.com/137shoebills/p/7786497.html

你可能感兴趣的文章
面对问题,如何去分析?(日报问题)
查看>>
nodejs vs python
查看>>
poj-1410 Intersection
查看>>
Java多线程基础(一)
查看>>
TCP粘包拆包问题
查看>>
SQL Server中利用正则表达式替换字符串
查看>>
POJ 1015 Jury Compromise(双塔dp)
查看>>
论三星输入法的好坏
查看>>
Linux 终端连接工具 XShell v6.0.01 企业便携版
查看>>
JS写一个简单日历
查看>>
Python 发 邮件
查看>>
mysql忘记密码的解决办法
查看>>
全面分析Java的垃圾回收机制2
查看>>
[Code Festival 2017 qual A] C: Palindromic Matrix
查看>>
修改博客园css样式
查看>>
Python3 高阶函数
查看>>
初始面向对象
查看>>
leetcode Letter Combinations of a Phone Number
查看>>
Unity 5.4 测试版本新特性---因吹丝停
查看>>
7.5 文件操作
查看>>