[DP] Atcoder AGC013D. Piling Up
来源:互联网 发布:js 遍历页面所有元素 编辑:程序博客网 时间:2024/06/08 05:31
假设刚开始有
一个合法的数列有多个初始的
那么
答案就是
这样就可以不重复了
#include <cstdio>#include <iostream>#include <algorithm>using namespace std;const int P=1e9+7;int f[3010][3010][2];inline void add(int &x,int y){ (x+=y)%=P; }int main(){ int n,m; cin>>n>>m; f[0][0][1]=1; for(int i=1;i<=n;i++) f[0][i][0]=1; for(int i=0;i<m;i++) for(int j=0;j<=n;j++) for(int k=0;k<=1;k++){ if(j) add(f[i+1][j-1][k|!(j-1)],f[i][j][k]); if(n-j) add(f[i+1][j+1][k],f[i][j][k]); if(j) add(f[i+1][j][k|(j==1)],f[i][j][k]); if(n-j) add(f[i+1][j][k],f[i][j][k]); } int ans=0; for(int i=0;i<=n;i++) add(ans,f[m][i][1]); cout<<ans<<endl; return 0;}
阅读全文
0 0
- [DP] Atcoder AGC013D. Piling Up
- [agc013d]Piling Up
- Atcoder Grand Contest 013D piling Up
- AtCoder Grand Contest 013D: Piling Up 题解
- AtCoder 2370 Piling
- hackerrank Piling Up!
- Python HackerRank|Piling Up!(from collections import deque)
- AtCoder:Infinite Sequence(dp)
- [DP]Atcoder ARC 087 D
- Atcoder 500 FT Robot DP
- ZZULI 1868: UP UP UP!【dp】
- zzulioj 1868: UP UP UP! (DP)
- AtCoder Beginner Contest 044 C (dp)
- [AtCoder AGC002 F][DP]Leftmost Ball
- atcoder Yet Another Palindrome Partitioning(dp)
- [计数 DP]Atcoder AGC001 E. BBQ Hard
- [启发式合并 DP] Atcoder ARC086E. Smuggling Marbles
- [二维区间DP?] Atcoder ARC004E. Salvage Robots
- JavaScript知识夯实系列-3.变量与数据类型
- 数值的整数次方(代码的完整性)
- JVM 之 逃逸分析和TLAB
- java ThreadLocal详解
- javascript事件简述和入门案例,js事件驱动机制;js 点击事件;js 焦点事件表单提交事件,键位弹起事件鼠标移入移除事件,
- [DP] Atcoder AGC013D. Piling Up
- 腾讯应用宝合作伙伴沙龙在京举办 分享精准高效分发
- HotSpot的G1收集器
- 一些问题
- 一步一步学java 1.2.1Java关键字
- java课程学习三:编程序题
- 获取iOS App 包名、版本号、设备信息、签名
- Java多线程编程-(15)-读写锁ReentrantReadWriteLock深入分析
- 以创新赢得认同:vivo X7开启"热卖模式"