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 - 免费馅饼-图画详细解析相关推荐

  1. 免费馅饼 (DP动态规划问题详细解析)

    免费馅饼 HDU - 1176 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米 ...

  2. WM6.0系统WIFI与笔记本点对点互联详细解析

    WM6.0系统WIFI与笔记本点对点互联详细解析 http://news.imobile.com.cn/index-a-view-id-60138-page-0.html PPC手机WM5的系统我们都 ...

  3. 靠java_基础不牢靠,何以争朝夕?Java基础面试82道详细解析!(一)

    基础不牢靠,何以争朝夕?Java基础面试82道详细解析!(一) 发布时间:2020-03-31 12:08:31 来源:51CTO 阅读:229 作者:wx5d9ed7c8443c3 题目的基本顺序是 ...

  4. 详细解析反爬手段以及处理方案

    详细解析反爬手段以及处理方案 前言 ​ 互联网时代,无论在工作上,还是生活上都离不开网络,而网络能给我们带来什么? ​ 新闻,小说,资料,各行业的数据或者报表等等: ​ 比如:快毕业了为了论文,在各种 ...

  5. 柔性印刷电路板(PCB)的设计方法、类型等详细解析

    柔性印刷电路板PCB 是一种特殊类型的电路板,可以弯曲成所需的应用形状.与普通的刚性电路板相比,这种类型的电路板将导电通路和电气元件放置在柔性基材上.灵活的PCB设计在构建现代紧凑型电子设备(如电话. ...

  6. hdu1176 免费馅饼 (动态规划)

    免费馅饼 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  7. SQL大厂春招真题,独家详细解析

    大家好,我是宁一. SQL不仅仅是每个技术开发必须掌握的技能, 也是数据分析.商业分析招聘中,必考的能力. 这次给大家整理了SQL大厂春招的真题,每道题都加了独家详细解析. 整理完后,我的脑袋是蒙蒙的 ...

  8. 简单爬取微博评论详细解析,学习爬取ajax异步数据交换动态网页

    爬取微博评论详细解析,学习爬取ajax异步数据交换动态网页 1.什么是ajax异步数据交换网页 2.用到的工具模块和简单解释 3.网页内容解析 4.代码实现及解释 1.什么是ajax异步数据交换网页 ...

  9. c r语言中rank函数,R语言rank函数详细解析

    R语言rank函数详细解析 发布于 2016-01-04 16:26:04 | 557 次阅读 | 评论: 0 | 来源: PHPERZ R 数据统计分析语言R是用于统计分析.绘图的语言和操作环境.R ...

最新文章

  1. ROS发行版列表完整版
  2. 功能测试Bug频发?测试工作中这点不可忽略
  3. 智源大会参会指南:4天 100+场顶尖报告,硬核高密度,如何才能不留遗憾?
  4. tez 0.9.0 配置
  5. X Shell 4配色方案[Solarized Dark]
  6. 搜索引擎设计实用教程(3)-以百度为例
  7. 基于Spring框架的Controller中进行事务管理
  8. 搭建开发环境之串口线的选择
  9. vue 源码分析(尚硅谷视频学习笔记)
  10. YOLOV5目标检测-后处理NMS(非极大值抑制)
  11. VS2008编译的程序在某些机器上运行提示“由于应用程序配置不正确,应用程序未能启动”的问题
  12. 美通企业日报 | 沃尔玛8.8购物节销售规模猛增;中通快递市场份额持续扩大
  13. spring5学习笔记
  14. AI换脸骗过App,林俊杰和我们都怕
  15. Django models常用Field介绍以及常见错误解决
  16. HYSBZ - 2818 Gcd —— 莫比乌斯反演
  17. 12AU7设计中的一个小技巧
  18. MLSQL生态一键体验
  19. 我的编程奋斗历程[四部曲之二]-毕业初期篇
  20. Unix时间戳毫秒值解读

热门文章

  1. 电脑无法读取移动硬盘_移动硬盘U盘提示:文件或目录损坏且无法读取如何解决?...
  2. Python+常用模块(2).md
  3. 设置本地yum源优先
  4. Knockout事件传递参数的几种方式
  5. 关于鼠标移到gridview行上,背景变色的问题。
  6. python 返回列表中的偶数
  7. 免费在线PHP加密、解密、混淆源代码工具-toolfk.com
  8. 前端学习之路之CSS (三)
  9. 孔维滢201771010110《面向对象程序设计(java)》第一周学习总结
  10. 【题解】Grape luogu1156改 dp