动态规划:HDU1176-免费馅饼
Total Submission(s): 24440 Accepted Submission(s): 8264

为了使问题简化,假设在接下来的一段时间里,馅饼都掉落在0-10这11个位置。开始时gameboy站在5这个位置,因此在第一秒,他只能接到4,5,6这三个位置中其中一个位置上的馅饼。问gameboy最多可能接到多少个馅饼?(假设他的背包可以容纳无穷多个馅饼)
提示:本题的输入数据量比较大,建议用scanf读入,用cin可能会超时。
5 1
4 1
6 1
7 2
7 2
8 3
0
- #include<bits/stdc++.h>
- using namespace std;
- const int maxn = 1e5+10;
- int d[maxn][15];
- void get_ans(int max_t)
- {
- //倒着找就行了
- for(int i=max_t-1; i>=0; i--)
- for(int j=0; j<=10; j++)
- d[i][j] = max(d[i+1][j],max(d[i+1][j-1],d[i+1][j+1])) + d[i][j];
- int Max = 0;
- printf("%d\n",d[0][5]);
- }
- int main()
- {
- int n;
- int max_t = 0;
- while(scanf("%d",&n) && n)
- {
- memset(d,0,sizeof(d));
- int t,p;
- for(int i=0; i<n; i++)
- {
- scanf("%d%d",&p,&t);
- if(t > max_t)
- max_t = t;
- d[t][p]++;//构成矩阵
- }
- get_ans(max_t);
- }
- }
- #include<bits/stdc++.h>
- using namespace std;
- const int maxn = 1e5+100;
- int maps[maxn][15];
- bool vis[maxn][15];
- int main()
- {
- int n;
- while(scanf("%d",&n) && n)
- {
- int Max = 0;
- memset(vis,0,sizeof(vis));
- memset(maps,0,sizeof(maps));
- vis[0][5] = true;
- int t,p,max_t = 0;
- for(int i=0; i<n; i++)
- {
- scanf("%d%d",&p,&t);
- maps[t][p]++;
- if(t > max_t)
- max_t = t;
- }
- for(int i=1; i<=max_t; i++)
- {
- //用来构成三角形
- for(int j=0; j<=10; j++)
- {
- if(vis[i-1][j] || vis[i-1][j-1] || vis[i-1][j+1])
- vis[i][j] = true;
- if(!vis[i][j])
- maps[i][j] = 0;//不在三角形区域的地方化成0,这样不影响结果
- }
- for(int j=0; j<=10; j++)
- {
- maps[i][j] = max(maps[i-1][j],max(maps[i-1][j-1],maps[i-1][j+1])) + maps[i][j];
- Max = max(Max,maps[i][j]);//记录一下最大的值
- }
- }
- printf("%d\n",Max);
- }
- return 0;
- }
动态规划:HDU1176-免费馅饼的更多相关文章
- (动态规划)免费馅饼--hdu--1176
http://acm.hdu.edu.cn/showproblem.php?pid=1176 免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory ...
- hdu1176免费馅饼(动态规划,数塔)
免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- 解题报告 HDU1176 免费馅饼
免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- hdu1176 (免费馅饼)
免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- hdu-1176免费馅饼
免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- kuangbin专题十二 HDU1176 免费馅饼 (dp)
免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- HDU1176 免费馅饼 —— DP
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=1176 免费馅饼 Time Limit: 2000/1000 MS (Java/Others ...
- HDU1176:免费馅饼(DP)
Problem Description 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁 ...
- HDU1176免费馅饼(DP)
都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内.馅饼如果掉在了地上当然就 ...
- HDU-1176.免费馅饼(数字三角形变形)
看到网上大多都是逆向的总结,我来搞个正向的吧... 这道题想着是和数字三角形差不多的,但是最后愣是没有写出来,感受到一股菜意......哭唧唧.jpg 本题大意: 给定n个序列,每个序列包含两个数表示 ...
随机推荐
- <s:property>的用法
1,访问Action值栈中的普通属性: <s:property value="attrName"/> 2,访问Action值栈中的对象属性(要有get set方法): ...
- <邮件的反垃圾反病毒>
本章——发送接收邮件的工具为雷鸟 安装 # yum install dovecot-mysql.x86_64 dovecot.x86_64 -y 编辑文件 vim 10-mail.conf mail_ ...
- C#在VS2005开发环境中利用异步模式来对一个方法的执行时间进行超时控制
using System.Threading; using System; namespace ConsoleApplication4 { public class Program { static ...
- Ajax跨域设置Access-Control-Allow-Origin
传统的跨域请求没有好的解决方案,无非就是jsonp和iframe,随着跨域请求的应用越来越多,W3C提供了跨域请求的标准方案(Cross-Origin Resource Sharing).IE8.Fi ...
- mysql查询索引
mysql在使用like查询中,能不能用到索引?在什么地方使用索引呢? 在使用like的时候,如果使用‘%%’,会不会用到索引呢? EXPLAIN SELECT * FROM `user` WHERE ...
- bootstrapValidator 如何重新启用提交按钮
bootstrapValidator 使用中,由于字段检查等原因,致使提交按钮失效.如何重新启用提交按钮呢? 下面一句代码可以实现启用提交按钮: $('#loginForm').bootstrapVa ...
- 十分钟玩转 jQuery、实例大全(参考自博主索宁)
十分钟玩转 jQuery.实例大全(参考自博主索宁) 一.简介 书写规则 支持链式操作: 在变量前加"$"符号(var $variable = jQuery 对象): 注:此规定并 ...
- FusionCharts可使用JavaScript渲染iPhone/iPod/iPad图表
FusionCharts使用JavaScript: FusionCharts允许用户创建建立JavaScript图表(也就是web上的HTML5 /Canvas图表).这个特性允许用户在不支持Flas ...
- ubuntu 16.04安装nVidia显卡驱动和cuda/cudnn踩坑过程
安装深度学习框架需要使用cuda/cudnn(GPU)来加速计算,而安装cuda/cudnn,首先需要安装nvidia的显卡驱动. 我在安装的整个过程中碰到了驱动冲突,循环登录两个问题,以至于最后不得 ...
- Android 桌面悬浮窗效果实现,仿360手机卫士悬浮窗效果
首先是一个小的悬浮窗显示的是当前使用了百分之多少的内存,点击一下小悬浮窗,就会弹出一个大的悬浮窗,可以一键加速.好,我们现在就来模拟实现一下类似的效果. 先谈一下基本的实现原理,这种桌面悬浮窗的效果很 ...