HD 1176 免费馅饼 (DP)
为了使问题简化,假设在接下来的一段时间里,馅饼都掉落在0-10这11个位置。开始时gameboy站在5这个位置,因此在第一秒,他只能接到4,5,6这三个位置中其中一个位置上的馅饼。问gameboy最多可能接到多少个馅饼?(假设他的背包可以容纳无穷多个馅饼)
提示:本题的输入数据量比较大,建议用scanf读入,用cin可能会超时。
状态d[i][j]表示i时刻在坐标j出最多能接到的馅饼数。
状态转移方程:
d[i][j] = Max(d[i+1][j-1],d[i+1][j], d[i+1][j+1]) + d[i][j].
最后d[0][5]即为所求结果。
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1176
#include<cstdio>
#include<cstring>
#include<iostream>#define M 100000+10using namespace std;int d[M][12]; /*d[i][j]表示在i时刻落在j点的馅饼数量*/ int maxof2(int x, int y){return (x>y )? x:y;
}int maxof3(int x, int y, int z){int mmax=(x>y) ? x:y;return (mmax>z) ? mmax:z;
}int dp(int max_time){int i,j;for (i = max_time - 1; i >= 0; --i){d[i][0] = maxof2(d[i+1][0], d[i+1][1]) + d[i][0];for (j = 1; j <=9; ++j){d[i][j] = maxof3( d[i+1][j-1], d[i+1][j], d[i+1][j+1] ) + d[i][j];}d[i][10]=maxof2(d[i+1][9], d[i+1][10])+d[i][10];}return d[0][5];
}int main(){int n;while(scanf("%d",&n)!=EOF && n){int location, time;int max_time=-1;memset(d,0,sizeof(d));for(int i=1; i<=n; ++i){scanf("%d%d", &location, &time);++d[time][location];if(max_time<time)max_time=time;}//printf("max_time=%d\n",max_time);printf("%d\n",dp(max_time));}return 0;
}
HD 1176 免费馅饼 (DP)相关推荐
- hdu 1176 免费馅饼(DP)
免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- HDU 1176 免费馅饼(记忆化搜索)
免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- 免费馅饼 (DP动态规划问题详细解析)
免费馅饼 HDU - 1176 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米 ...
- HDU 1176 免费馅饼 (动态规划、另类数塔)
免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- HDU 1176 免费馅饼 矩阵取数, dp + 滚动数组
http://acm.hdu.edu.cn/showproblem.php?pid=1176 首先可以处理出整张地图的状态. book[T][POS]表示第T秒,在第pos个地方有多少个馅饼. dp[ ...
- HDOJ 1176 免费馅饼 -- 动态规划
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1176 Problem Description 都说天上不会掉馅饼,但有一天gameboy正走在回家的小 ...
- hdu 1176 免费馅饼(nyist 613)
http://acm.hdu.edu.cn/showproblem.php?pid=1176 dp[i][j]:表示第i秒接j位置的馅饼的最大值. 三种状态: dp[i][j]=max(dp[i-1] ...
- hdu 1176:免费馅饼
hdu1176: http://poj.org/problem?id=1179题意:有一一维坐标系,从0编号到10,一个人站在5上,现在天上正在掉馅饼,这个人每秒只能移动一个单位,所以第一秒只能接住掉 ...
- [ACM_动态规划] hdu 1176 免费馅饼 [变形数塔问题]
Problem Description 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁 ...
最新文章
- 查看自己的ip和采用什么方式上网(网通/电信)
- 实例讲解《Microsoft AJAX Library》(2):DomEvent类
- 8个超好用的Python内置函数,提升效率必备!
- wxPython事件处理
- 【dfs】【模拟】【树】I Like Matrix Forever!
- 那些年做过的 .NET Web 项目和 iOS 之路的一些思考
- angular 倒计时
- 网评计算机学校好,网评十大最痛苦专业:计算机、数学上榜
- NumPy库---数组的基本操作
- SqlServer导入Excel文件数据
- python 汉诺塔问题_Python汉诺塔问题
- linux安装命令安装包下载地址,linux 用命令行下载的安装包放在哪里
- 天秀,Excel居然还可以制作二维码
- 纵横算法之三:算法到底考什么
- kill -HUP重启mysql_kill的用法和例句,包括kill常用短语解释和词组意思翻译,同义词,反义词【澳典网ODict.Net】...
- 趋势与新高的实战研究
- 微盟集团上半年业绩逆势增长:抢滩在线新经济未来前景获看好
- xposed hook之360加固的APP过模拟器检测
- VS编译失败,找不到源文件!!!
- 用一条sql语句判断两个日期是否处于同一月份!
热门文章
- 神策数据王磊:如何用 JS 实现页面录制与回放
- 有一天老板和我要几个关键数据……
- 译文| 相信指标还是相信经验?
- 人们对大数据的几点误解
- MySQL INSERT INTO...ON DUPLICATE KEY UPDATE的使用
- java.lang.NoClassDefFoundError: org/springframework/dao/support/DaoSupport
- Linux 软件的安装
- 用户二次登陆,干掉第一次登录的session
- ios UIWebView调用本地html和javascript,并且和ios通讯
- 如何看期权是实值还是虚值?