HIT 2255 Not Fibonacci(矩阵快速幂)
来源:互联网 发布:ftp命令行用法带端口 编辑:程序博客网 时间:2024/06/10 20:57
#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int mod=10000000;struct mat{ long long t[3][3]; void set() { memset(t,0,sizeof(t)); }} a,b;mat multiple(mat a,mat b,int n,int p){ int i,j,k; mat temp; temp.set(); for(i=0; i<n; i++) for(j=0; j<n; j++) { //if(a.t[i][j]!=0) for(k=0; k<n; k++) temp.t[i][k]=(temp.t[i][k]+a.t[i][j]*b.t[j][k]+p)%p; } return temp;}mat quick_mod(mat b,int n,int m,int p){ mat t; t.set(); for(int i=0;i<n;i++) t.t[i][i]=1; while(m) { if(m&1) { t=multiple(t,b,n,p); } m>>=1; b=multiple(b,b,n,p); } return t;}void init(int p,int q){ b.set(); b.t[0][0]=1; b.t[1][2]=q; b.t[2][0]=1; b.t[2][1]=1; b.t[2][2]=p;}int main(){ int A,B,p,q,s,e,t; cin>>t; while(t--) { cin>>A>>B>>p>>q>>s>>e; long long l,r; s--; if(s<0) l=0; else if(s==0) l=A; else if(s==1) l=B+A; else { init(p,q); a=quick_mod(b,3,s,mod); l=((A*a.t[0][0]+A*a.t[1][0]+B*a.t[2][0])%mod+mod)%mod; } if(e==0) r=A; else if(e==1) r=B+A; else { init(p,q); a=quick_mod(b,3,e,mod); r=((A*a.t[0][0]+A*a.t[1][0]+B*a.t[2][0])%mod+mod)%mod; } cout<<(r-l+mod)%mod<<endl; } return 0;}
0 0
- HIT 2255 Not Fibonacci(矩阵快速幂)
- HIT OJ 2255 Not Fibonacci (矩阵快速幂)
- HIT 2255 Not Fibonacci(矩阵乘法)
- HIT OJ 2060 Fibonacci Problem Again(矩阵快速幂)
- Hit 2255 Not Fibonacci
- [hoj 2255]Not Fibonacci[矩阵快速幂]
- Fibonacci(矩阵快速幂)
- 【矩阵快速幂】Fibonacci
- Fibonacci 矩阵快速幂
- Fibonacci 矩阵快速幂
- Fibonacci (矩阵快速幂)
- Fibonacci 快速幂矩阵
- poj - 3070 - Fibonacci(矩阵快速幂)
- hdu3117 Fibonacci Numbers (矩阵快速幂)
- hdu1588 Gauss Fibonacci (矩阵快速幂)
- poj 3070 Fibonacci(矩阵快速幂)
- poj 3070 Fibonacci(矩阵快速幂)
- POJ 3070 Fibonacci(矩阵快速幂)
- 关于Certificate、Provisioning Profile、App ID的介绍及其之间的关系
- OpenGL基础图形编程
- 如何实现队列
- 家庭影院和音频选项的趋势在2013
- UVA662- Fast Food
- HIT 2255 Not Fibonacci(矩阵快速幂)
- 网线制作
- 宝利通音频会议和免提电话对于商务
- python27在cmd命令行中出现UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position
- 宏达其中X S720e采用了Beats Audio锁定的GSM Android智能手机
- sscanf函数用法
- armv6, armv7, armv7s的区别
- 宏碁Aspire 3004wlci - 快速回顾
- 几种线程池的实现算法分析