https://codeforces.com/contest/1369/problem/D

n<=2e6,所以只要找递推式就可以了,不需要找快速幂

/**

*/
#include<bits/stdc++.h> using namespace std; typedef long long ll;
const int maxn=2000100;
const int INF=(1LL<<30);
const ll MOD=1e9+7; ll f[maxn][2],n; void init(){
memset(f,0,sizeof(f));
f[3][0]=0;f[3][1]=1;
f[4][0]=f[4][1]=1;
f[5][0]=3;f[5][1]=2;
for(int i=6;i<maxn;i++){
f[i][1]=((f[i-2][0]*2)%MOD+f[i-1][0]+1)%MOD;
f[i][0]=((max(f[i-2][0],f[i-2][1])*2)%MOD+max(f[i-1][0],f[i-1][1]))%MOD;
}
} int main(){
int T;cin>>T;
init();
while(T--){
cin>>n;
cout<<(max(f[n][0],f[n][1])*4LL)%MOD<<endl;
}
return 0;
}

最新文章

  1. 【解决】SQL Server作业中Excel Application不能访问文件
  2. Spring(3)—— Junit框架单元测试
  3. Spring Security笔记:使用BCrypt算法加密存储登录密码
  4. FileWriter和FileReader简单使用
  5. 从源码编译Chrome(chromium)
  6. Swift语言实战晋级-第9章 游戏实战-跑酷熊猫-2 创建熊猫类
  7. [转] 软件定义网络(SDN) 的应运而生
  8. HDU 1796How many integers can you find(简单容斥定理)
  9. 分享一个自己写的基于TP的关系模型(三)
  10. iPhone 被同步到 Mac上后 如果不希望更新到Mac上在哪里删除?
  11. 面向对象程序设计-C++_课时11new &amp; delete
  12. spring html5 拖拽上传多文件
  13. centos中jdk配置
  14. JavaScript中的数值转换
  15. 大数据 --&gt; Spark和Hadoop作业之间的区别
  16. 推荐六款炫酷的HTML5效果插件
  17. anaconda中安装mmdetection
  18. 20170506计划-----(基于python查询oracle语句)
  19. python简单笔记
  20. http响应头

热门文章

  1. Cesium之Quick Start
  2. SpringMVC基础源码分析(一)
  3. K8S 实用工具之一 - 如何合并多个 kubeconfig?
  4. B树,B-树,B+树和B*树
  5. pat乙级 1021个位数统计
  6. fastai fit_one_cycle AttributeError: &#39;function&#39; object has no attribute &#39;parameters&#39;
  7. Linux操作命令(五)1.find命令 2.xargs命令
  8. Xilinx URAM使用说明 UG573
  9. Docker工作管理中实用操作
  10. hashMap的底层数据结构