思路:

ax+b cx+d

构造矩阵+矩阵快速幂

(需要加各种特判,,,,我好像加少了… )

//By SiriusRen
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
#define int long long
const int mod=1000000007;
int n,m,a,b,c,d;char N[1000500],M[1000500];
struct Matrix{
int a[2][2];
void init(){memset(a,0,sizeof(a));}
friend Matrix operator*(Matrix a,Matrix b){
Matrix c;c.init();
for(int i=0;i<=1;i++)
for(int j=0;j<=1;j++){
for(int k=0;k<=1;k++)
c.a[i][j]=(a.a[i][k]*b.a[k][j]+c.a[i][j])%mod;
}
return c;
}
friend Matrix operator^(Matrix a,int b){
Matrix c;c.a[1][1]=c.a[0][0]=1,c.a[1][0]=c.a[0][1]=0;
for(;b;b>>=1,a=a*a)if(b&1)c=c*a;
return c;
}
}row,line,base,ans;
signed main(){
scanf("%s%s%lld%lld%lld%lld",N,M,&a,&b,&c,&d);
int lenn=strlen(N),lenm=strlen(M);
for(int i=0;i<lenn;i++)n=(n*10+N[i]-'0')%(mod-(a!=1));
for(int i=0;i<lenm;i++)m=(m*10+M[i]-'0')%(mod-(c!=1));
base.a[0][1]=base.a[0][0]=1;
row.a[1][1]=1,row.a[0][0]=a,row.a[1][0]=b;
line.a[1][1]=1,line.a[0][0]=c,line.a[1][0]=d;
row=row^(m-1),line=row*line;
line=line^(n-1),ans=base*line*row;
printf("%lld\n",ans.a[0][0]%mod);
}

最新文章

  1. linux下使用fork,exec,waitpid模拟system函数
  2. 删除win8的网络连接记录
  3. block,inline和inline-block概念和区别(转)
  4. iOS创建、删除文件夹、获取沙盒路径
  5. 十五天精通WCF——第十二天 说说wcf中的那几种序列化
  6. ASP.NET MVC中从前台页面视图(View)传递数据到后台控制器(Controller)方式
  7. VPS 搭建 SS
  8. Groovy获取json和xml数据
  9. iOS第三方库-CocoaLumberjack-DDLog (转)
  10. ISOMAP和MDS降维
  11. puppeteer端对端测试demo
  12. Keepalived+LVS-DR+Nginx高可用故障切换模式
  13. Practical Web Penettation Testing (the first one Mutillidae 大黄蜂)
  14. 22状态模式State
  15. Jquery EasyUI Combotree根据选中的值展开所有父节点
  16. 22.LinkedList
  17. 修改select样式
  18. ArrayBlcokingQueue,LinkedBlockingQueue与Disruptor三种队列对比与分析
  19. 使用云负载时将http的请求转发至https时报错:“ERR_TOO_MANY_REDIRECTS”!
  20. [Node.js]24. Level 5: Express, Express routes

热门文章

  1. ios中NSUserDefaults的使用方法
  2. [博弈] hdu 3683 Gomoku
  3. sql两个字段相加减,第三个字段没有值的原因.
  4. c语言运算符优先级与while循环案例
  5. zzulioj--1712--Monty Hall problem(蒙提霍尔问题)
  6. Ubuntu新建用户并加入SUDO组
  7. POJ 2132 暴搜OR Floyd
  8. Java多线程编程模式实战指南(三):Two-phase Termination模式--转载
  9. Git 连接细节
  10. 亿财道APP赚钱攻略,亿财道,一个看广告年入36万的APP