I - 免费馅饼-图画详细解析
Description
都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内。馅饼如果掉在了地上当然就不能吃了,所以gameboy马上卸下身上的背包去接。但由于小径两侧都不能站人,所以他只能在小径上接。由于gameboy平时老呆在房间里玩游戏,虽然在游戏中是个身手敏捷的高手,但在现实中运动神经特别迟钝,每秒种只有在移动不超过一米的范围内接住坠落的馅饼。现在给这条小径如图标上坐标:
为了使问题简化,假设在接下来的一段时间里,馅饼都掉落在0-10这11个位置。开始时gameboy站在5这个位置,因此在第一秒,他只能接到4,5,6这三个位置中期中一个位置上的馅饼。问gameboy最多可能接到多少个馅饼?(假设他的背包可以容纳无穷多个馅饼)
Input
输入数据有多组。每组数据的第一行为以正整数n(0 < n < 100000),表示有n个馅饼掉在这条小径上。在结下来的n行中,每行有两个整数x,T(0 <= T < 100000),表示在第T秒有一个馅饼掉在x点上。同一秒钟在同一点上可能掉下多个馅饼。n=0时输入结束。
Output
每一组输入数据对应一行输出。输出一个整数m,表示gameboy最多可能接到m个馅饼。
提示:本题的输入数据量比较大,建议用scanf读入,用cin可能会超时。
Sample
Input
6
5 1
4 1
6 1
7 2
7 2
8 3
0
Output
4
解题思路
如上图所示,以题中所给数据为例,就是先把每秒0~10的位置计数,如果掉饼就标为1,否则为0,比如第三秒时,1,2,3,位置掉了,那么都+1。
输入数据(哪些地方,第几秒掉饼)完毕后,从第二秒的0的位置开始遍历计算,第三秒0,1所在的位置,掉饼数之和,就是第二秒0所在位置下一秒可接到的饼数,然后一次类推,第二秒的1位置,为第三秒1,和2位置,掉饼数之和。
变量表示——DP[t][x],一个二维数组,表示上图,实现转化。
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>
using namespace std;
int n;
int DP[100001][12];//0~10一共需要11个位置,小心越界
int main()
{while(cin>>n&&n){int x,tend=0,t;memset(DP,0,sizeof(DP));for(int i=0; i<n; i++){scanf("%d %d",&x,&t);DP[t][x]++;//对应位置大饼+1if(tend<t)//计算最大时间是多少{tend=t;}}for(int i=tend-1; i>=0; i--){for(int j=0; j<11; j++)//特判一下,为0的情况,否则出现DP[i+1][j-1]越界了//为0时,只要把0和1位置的相加即可。if(j==0){DP[i][j]+=max(DP[i+1][j],DP[i+1][j+1]);}else{//其他情况把所在位置左和右以及本身相加即可,10的时候不会越界限DP[i][j]+=max(max(DP[i+1][j-1],DP[i+1][j]),DP[i+1][j+1]);}}printf("%d\n",DP[0][5]);}return 0;
}
I - 免费馅饼-图画详细解析相关推荐
- 免费馅饼 (DP动态规划问题详细解析)
免费馅饼 HDU - 1176 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米 ...
- WM6.0系统WIFI与笔记本点对点互联详细解析
WM6.0系统WIFI与笔记本点对点互联详细解析 http://news.imobile.com.cn/index-a-view-id-60138-page-0.html PPC手机WM5的系统我们都 ...
- 靠java_基础不牢靠,何以争朝夕?Java基础面试82道详细解析!(一)
基础不牢靠,何以争朝夕?Java基础面试82道详细解析!(一) 发布时间:2020-03-31 12:08:31 来源:51CTO 阅读:229 作者:wx5d9ed7c8443c3 题目的基本顺序是 ...
- 详细解析反爬手段以及处理方案
详细解析反爬手段以及处理方案 前言 互联网时代,无论在工作上,还是生活上都离不开网络,而网络能给我们带来什么? 新闻,小说,资料,各行业的数据或者报表等等: 比如:快毕业了为了论文,在各种 ...
- 柔性印刷电路板(PCB)的设计方法、类型等详细解析
柔性印刷电路板PCB 是一种特殊类型的电路板,可以弯曲成所需的应用形状.与普通的刚性电路板相比,这种类型的电路板将导电通路和电气元件放置在柔性基材上.灵活的PCB设计在构建现代紧凑型电子设备(如电话. ...
- hdu1176 免费馅饼 (动态规划)
免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- SQL大厂春招真题,独家详细解析
大家好,我是宁一. SQL不仅仅是每个技术开发必须掌握的技能, 也是数据分析.商业分析招聘中,必考的能力. 这次给大家整理了SQL大厂春招的真题,每道题都加了独家详细解析. 整理完后,我的脑袋是蒙蒙的 ...
- 简单爬取微博评论详细解析,学习爬取ajax异步数据交换动态网页
爬取微博评论详细解析,学习爬取ajax异步数据交换动态网页 1.什么是ajax异步数据交换网页 2.用到的工具模块和简单解释 3.网页内容解析 4.代码实现及解释 1.什么是ajax异步数据交换网页 ...
- c r语言中rank函数,R语言rank函数详细解析
R语言rank函数详细解析 发布于 2016-01-04 16:26:04 | 557 次阅读 | 评论: 0 | 来源: PHPERZ R 数据统计分析语言R是用于统计分析.绘图的语言和操作环境.R ...
最新文章
- ROS发行版列表完整版
- 功能测试Bug频发?测试工作中这点不可忽略
- 智源大会参会指南:4天 100+场顶尖报告,硬核高密度,如何才能不留遗憾?
- tez 0.9.0 配置
- X Shell 4配色方案[Solarized Dark]
- 搜索引擎设计实用教程(3)-以百度为例
- 基于Spring框架的Controller中进行事务管理
- 搭建开发环境之串口线的选择
- vue 源码分析(尚硅谷视频学习笔记)
- YOLOV5目标检测-后处理NMS(非极大值抑制)
- VS2008编译的程序在某些机器上运行提示“由于应用程序配置不正确,应用程序未能启动”的问题
- 美通企业日报 | 沃尔玛8.8购物节销售规模猛增;中通快递市场份额持续扩大
- spring5学习笔记
- AI换脸骗过App,林俊杰和我们都怕
- Django models常用Field介绍以及常见错误解决
- HYSBZ - 2818 Gcd —— 莫比乌斯反演
- 12AU7设计中的一个小技巧
- MLSQL生态一键体验
- 我的编程奋斗历程[四部曲之二]-毕业初期篇
- Unix时间戳毫秒值解读