ZOJ 3725 Painting Storages DP
2014-03-12 00:40
288 查看
#include<cstdio> #include<cstring> #include<algorithm> using namespace std; #define inf 1000000007 #define N 100005 int a ; int b ; void getsolve(){ b[0]=1; for(int i=1;i<=N;i++){ b[i]=b[i-1]*2%inf; } return; } int main(){ int n,m; getsolve(); while(scanf("%d%d",&n,&m)!=EOF){ memset(a,0,sizeof(a)); a[m]=1; for(int i=m+1;i<=n;i++){ a[i]=(((a[i-1]*2)%inf+(b[i-1-m]-a[i-1-m])%inf)%inf+inf)%inf; } printf("%d\n",a ); } return 0; }a[i]表示前i点满足条件的种类,对于当前点,这个点之前已经满足条件,则当前点随意,就是2种都行,如果之前还不能满足条件,如果要满足条件,则当前点一定是红色,第i-m那个点一定是蓝色(如果不为蓝色就满足条件了),对于剩下的所有点:一共有2^(i-1-m)中,再减去这里可能满足条件的情况就行了。
相关文章推荐
- TurboMail邮件系统为国家工商总局建设高效通信平台
- tail命令
- 通过类名反射调用该类的main方法和成员方法
- 出现( linker command failed with exit code 1)错误总结
- Elegant fibonacci numbers again
- The attempt to create vdi is failed
- 基于行为树与状态机的游戏人工智能
- COMMIT WORK AND WAIT 是在WAIT什么
- codeforces 208B Solitaire
- ADB server didn't ACK, failed to start daemon
- 游戏AI模块设计--行为树
- Adobe AIR右键菜单和系统托盘(Tray)功能以及实现方法
- async & await 的前世今生
- AIX smitty目录结构
- uva 11456 - Trainsorting(LIS)
- AIX账户密码不能重用和过期的解决
- UVA 11456 - Trainsorting(DP + LIS)
- 介绍RAID的工作原理及一步步来实现RAID的创建
- SLF4J: Class path contains multiple SLF4J bindings 错误
- *bzoj1260 [CQOI2007] 涂色paint 题解