hdu1176 dp
来源:互联网 发布:appstore无法下载软件 编辑:程序博客网 时间:2024/05/22 16:03
免费馅饼问题。
分析:
一道比较简单的dp问题,只要想到用dp[i][j]去表示第i秒走到位置j所得到的最多馅饼数,这道题目也就解决了。
状态转移方程是:
dp[i][j] += max(dp[i+1][j-1],max(dp[i+1][j],dp[i+1][j+1]));
从最后一秒反向递推比较方便。
具体见代码:
//1176#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#include <string>using namespace std;int const maxn = 100005;int dp[maxn][12];//dp[i][j]表示的是第i秒站在位置j处共得到的馅饼数量int main(){ int n; while(scanf("%d",&n)!=EOF && n) { int num = -1;//最大的秒数 memset(dp,0,sizeof(dp)); for(int i = 0 ; i < n ; i++) { int x,y; scanf("%d%d",&x,&y); if(y>num)num=y; dp[y][x+1]++; //位置变为1到11,这样处理边界好一点 } for(int i = num ; i >= 0 ; i--) { for(int j = 1 ; j <= 11 ; j++) { dp[i][j] += max(dp[i+1][j-1],max(dp[i+1][j],dp[i+1][j+1])); } } printf("%d\n",dp[0][6]); } return 0;}
0 0
- HDU1176(DP)
- hdu1176(dp)
- hdu1176 dp
- hdu1176(DP)
- HDU1176 DP
- HDU1176 数塔DP
- HDU1176 (简单DP)
- hdu1176免费馅饼 dp
- HDU1176:免费馅饼(DP)
- hdu1176免费馅饼(DP)
- HDU1176 免费馅饼 DP
- hdu1176免费馅饼(DP)
- hdu1176 免费馅饼--DP
- HDU1176 免费馅饼 DP
- 【DP】HDU1176免费馅饼
- HDU1176二维DP
- hdu1176 免费馅饼 (dp)
- hdu1176免费馅饼 dp
- 观电影“时间管理局”有感
- sheet
- NDK错误总结
- Android 第十一天
- Zend Studio 中安装emmet插件的方法
- hdu1176 dp
- 浏览器页面渲染基本过程
- iOS学习路线
- 淘宝架构框架
- 异常com.google.gson.internal.StringMap cannot be cast to XXX解决方案
- iOS 解决sdk在iOS7上出现的Bug
- Python报错:Visual C++ is required和ImportError: DLL load failed
- C# WebService (二)发布与IIS配置
- IOS 如何获取汉字字符串的拼音