qduoj no cer的一道简单签到题
来源:互联网 发布:好的炒作公司网络推手 编辑:程序博客网 时间:2024/05/22 09:20
no cer的一道简单签到题
发布时间: 2017年6月11日 17:59 最后更新: 2017年6月11日 18:10 时间限制: 1000ms 内存限制: 128M
描述
人见人(不)爱,花见花(不)开的nr4强者Cerberux回来啦!
KUCC47XNHC31WC0(CE
6KQ.png
他不仅回来了,还带回来了一块2*n的长板。
然而他的蜜汁审美告诉他,这块长板需要贴瓷砖。
但是nr4强者Cerberux只有两种瓷砖,一种是1*2的,一种是1*1的。
他面对这块长板,突然脑抽了,想知道有多少种不同的用1*2和1*1瓷砖填满长板的方案。
大家都知道,nr4强者Cerberux不是一天炼成的。
他为了成为nr4强者,不仅舍弃了上课,拥抱了挂科,还离开了挚爱(个屁)的ACM。
所以他怎么可能会自己动脑想这个和魔方无关的问题。
于是nr4强者Cerberux想问你们有多少种填满长板的方案数?
如果你们回答出来了,将会免费获得由nr4强者Cerberux亲自授课的装x课程1个月(他不给不关我事)。
不同的两种方案必定至少有一个位置填放的瓷砖种类不同或者1*2的瓷砖的方向不同。
输入
第一行一个整数t代表数据组数
每组数据包括一个整数n;
1<=t<=100000
1<=n<=100000
输出
每组数据输出方案数并对1000000007取模,每组数据占一行。
样例输入1 复制
2
2
3
样例输出1
7
22
查看隐藏信息
递推dp
#include <bits/stdc++.h>using namespace std;const int N = 1e5+100;long long dp[N+10][5];const int mod = 1e9+7;void init(){ dp[0][3]=1; for(int i=1;i<=N;i++) { dp[i][1]=dp[i-1][3]+dp[i-1][2]; dp[i][2]=dp[i-1][3]+dp[i-1][1]; dp[i][3]=(dp[i-1][1]+dp[i-1][2]+dp[i-1][3]*2+((i==1)?0:dp[i-2][3]))%mod; }}int main(){ int t; init(); scanf("%d",&t); while(t--) { int n; scanf("%d",&n); printf("%d\n",dp[n][3] ); }}
阅读全文
0 0
- qduoj no cer的一道简单签到题
- qduoj 一道非常简单的签到题
- QDU no cer的一道简单签到题(线性递推)
- qduoj 96 一道非常简单的签到题
- qduoj kkun的一道简单签到题(优先队列)
- qduoj 153 cfenglv的一道简单签到题 (二分+分解因子)
- qduoj cfenglv的一道简单签到题(区间gcd rmq,二分)
- QDUOJ 蒸鱼的一个简单签到题 思维+kmp
- cfenglv的一道简单签到题 QDU
- qduoj 一道简单的数据结构题(水题)
- QDU BelamiYao的一道简单签到题(思维)
- qduoj 88 一道非常简单的炉石题(最大匹配)
- qduoj 102 一道非常简单的数学题(构造)
- qduoj ycb老师与一道简单的物理题 三分
- QDUOJ 39 - 签到题(线段树)
- qduoj 签到题 (树状数组)
- 一道签到题
- hpu1695 一道签到题
- Web基础之Servlet+JDBC+JSP项目实战记录(三)
- 单元测试遇到的坑
- Redis持久化RDB与AOF(笔记)
- zynq学习笔记——一个简单的HDMI显示例子
- 使用MySQL Workbench进行数据库设计——MySQL Workbench安装方法总结
- qduoj no cer的一道简单签到题
- bzoj 2738 矩阵乘法
- Starting nginx: nginx: [emerg] bind() to 0.0.0.0:8095 failed (13: Permission denied) nginx 启动失败
- 用faster-rcnn训练自己的数据集(VOC2007格式,python版)
- ActiveMQ简单介绍
- Java内存区域详解
- LeetCode 504. Base 7
- python中的import涉及的绝对/相对引用(python官方PEP328文档)
- Unknown entity: