思路:一开始不会n^4的推导,原来是要找n和n-1的关系,这道题的MOD是long long 的,矩阵具体如下所示

最近自己总是很坑啊,代码都瞎吉坝写,一个long long的输入写成%d一直判我TLE,一度怀疑矩阵快速幂地复杂度orz

代码:

#include<set>
#include<cstring>
#include<cstdio>
#include<algorithm>
#define ll long long
const int maxn = 7;
const ll MOD = 2147493647;
const int INF = 0x3f3f3f3f;
using namespace std;
struct Mat{
ll s[maxn][maxn];
}; Mat mul(Mat a,Mat b){
Mat t;
memset(t.s,0,sizeof(t));
for(int i = 0;i < maxn;i++){
for(int j = 0;j < maxn;j++){
for(int k = 0;k < maxn;k++){
t.s[i][j] = (t.s[i][j] + a.s[i][k]*b.s[k][j])%MOD;
}
}
}
return t;
}
Mat pow_mat(Mat p,int n){
Mat ret;
memset(ret.s,0,sizeof(ret.s));
for(int i = 0;i < maxn;i++)
ret.s[i][i] = 1;
while(n){
if(n & 1) ret = mul(ret,p);
p = mul(p,p);
n >>= 1;
}
return ret;
}
int main(){
ll T,a,b,n;
Mat A,B,C;
memset(A.s,0,sizeof(A.s));
A.s[0][0] = A.s[0][2] = A.s[1][0] = A.s[2][2] = A.s[3][3] = A.s[4][4] = A.s[5][5] = 1;
for(int i = 0;i < 7;i++)
A.s[i][6] = 1;
A.s[1][6] = 0;
A.s[0][1] = A.s[4][5] = 2;
A.s[3][4] = A.s[3][5] = 3;
A.s[0][3] = A.s[0][5] = A.s[2][3] = A.s[2][5] = 4;
A.s[0][4] = A.s[2][4] = 6;
/*for(int i = 0;i < 7;i++){
for(int j = 0;j < 7;j++){
printf("%d ",A.s[i][j]);
}
printf("\n");
}*/
scanf("%lld",&T);
while(T--){
scanf("%lld%lld%lld",&n,&a,&b);
if(n == 1){
printf("%lld\n",a);
}
else if(n == 2){
printf("%lld\n",b);
}
else{
C = pow_mat(A,n - 2);
ll ans = 0;
ans = (C.s[0][0]*b%MOD + C.s[0][1]*a%MOD + C.s[0][2]*16%MOD +
C.s[0][3]*8%MOD + C.s[0][4]*4%MOD + C.s[0][5]*2%MOD + C.s[0][6])%MOD;
printf("%lld\n",ans);
}
}
return 0;
}

最新文章

  1. Python学习笔记(三)——类型与变量
  2. MVC的理解
  3. 【poj3461】 Oulipo
  4. java初学。加载图片
  5. 步步入佳境---UI入门(4) --简单练习
  6. python2 编码问题详解
  7. Java连接redis的使用示例
  8. cocos2d-x 添加 libLocalStorage 库...
  9. c/c++中const使用总结(金典)
  10. 百度Echarts使用心得
  11. 手机淘宝中的那些Web技术-使用了类似PhoneGap的实现
  12. const与readonly
  13. ABAP 内表数据 与 Json串 相互转换
  14. uva 12009 - Avaricious Maryanna(暴力)
  15. 《C++ Primer》学习笔记:迭代器介绍
  16. [Spark][Hive][Python][SQL]Spark 读取Hive表的小例子
  17. echarts设置toolTip大小和样式问题
  18. iOS,添加阴影
  19. 安装Linux系统的磁盘分区
  20. 在Windows商店应用中使用浅色主题

热门文章

  1. 360全景图three.js与Photo-Sphere-Viewer-master 3D全景浏览开发
  2. 微信小游戏 Egret开发数据域官方Demo下载地址
  3. 【BZOJ4149】[AMPPZ2014]Global Warming 单调栈+RMQ+二分
  4. jQuery --- 收集表单
  5. AVG
  6. [MongoDB] 用户权限管理
  7. Linux救援模式
  8. Android中的Apk的加固(加壳)原理解析和实现(转)
  9. php版本管理工具composer安装及使用
  10. rest_framework知识总汇