HDU 1176 免费馅饼
来源:互联网 发布:淘宝报名活动有哪些 编辑:程序博客网 时间:2024/05/21 00:48
思路:这道题是数塔模型的一种变形。
首先,我们会看到,随着时间的不同,落下馅饼的位置也会不同,那么我们会考虑到,我们想到第i个点去接馅饼时候,会发现这时我们拥有的馅饼数量是(即状态转移方程):
dp[当前时间][当前位置]+=dp[当前时间-1][上一个位置(仔细思考会发现有3个位置)]
所以AC代码:
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int N = 100005;int dp[N][12];int main(){ int n,t,x,maxx,m; while(~scanf("%d",&n)) { if(n==0)break; m=n; maxx=0; memset(dp,0,sizeof(dp)); while(m--) { scanf("%d%d",&x,&t); dp[t][x] ++; if(maxx<t)maxx=t; //优化层次 } for(int i=maxx-1;i >= 0;i --) //从倒数第二层开始向上 { dp[i][0]+=max(dp[i+1][0],dp[i+1][1]); //边界的特殊情况 for(int j=1;j<11;j++) dp[i][j]+=max(max(dp[i+1][j-1],dp[i+1][j]),dp[i+1][j+1]); //3个上一状态的最大值 } printf("%d\n",dp[0][5]); //顶点 } return 0;}
0 0
- hdu 1176 免费馅饼
- hdu 1176 免费馅饼
- hdu 1176 免费馅饼
- HDU 1176 - 免费馅饼
- hdu 1176 免费馅饼
- hdu 1176免费馅饼
- hdu 1176 免费馅饼
- HDU 1176 免费馅饼
- hdu 1176 免费馅饼
- HDU 1176 免费馅饼
- hdu 1176 免费馅饼
- hdu - 1176 - 免费馅饼
- HDU 1176 免费馅饼
- HDU 1176 免费馅饼
- hdu 1176 免费馅饼
- HDU 1176 免费馅饼
- 免费馅饼 hdu 1176
- hdu 1176 免费馅饼
- c++备注事项:
- 【OpenCV 学习】自带示例:随机数发生器&绘制文字 代码注释解析
- 关于模板页中文本款ID的客户端获取问题
- Robotium学习笔记三
- ActivityGroup子Activity获得焦点返回键的处理
- HDU 1176 免费馅饼
- HDUJ 1231 最大连续子序列
- 购物车技术原理
- POJ, 1330 Nearest Common Ancestors(找出两个节点最近的公共节点——BFS)
- freemarker 整理手册
- 移动开发前端素材集锦
- jQuery的性能优化
- java 程序登陆管理平台
- oracle sqlplus 常用命令大全