免费馅饼

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 76293    Accepted Submission(s): 26722

Problem 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


Sample Output

 

题目分析

由于随着时间的增长 小明能接馅饼的范围也在扩大:

第0秒           5

第1秒         456

第2秒       34567

第3秒     2345678

第4秒   123456789

第5秒 012345678910

第6秒 012345678910

第7秒 012345678910

.......................................

这就很自然的想到数塔问题,求dp[0][5]即可。

代码

#include<bits/stdc++.h>

using namespace std;

int i,j,n,dp[][],maxn,x,t;

int main()
{
while(scanf("%d",&n),n!=)
{
memset(dp,,sizeof(dp));
maxn=;
for(i=;i<=n;i++)
{
scanf("%d%d",&x,&t);
dp[t][x]++;
if(t>maxn)
maxn=t;
}
for(i=maxn-;i>=;i--)
{
dp[i][]+=max(dp[i+][],dp[i+][]);
dp[i][]+=max(dp[i+][],dp[i+][]);
for(j=;j<=;j++)
{
dp[i][j]+=max(dp[i+][j],max(dp[i+][j-],dp[i+][j+]));
}
}
printf("%d\n",dp[][]);
}
}

HDU 1176 免费馅饼 (动态规划、另类数塔)的更多相关文章

  1. HDU 1176 免费馅饼 DP类似数塔题

    解题报告: 小明走在一条小路上,这条小路的长度是10米,从左到右依次是0到10一共十个点,现在天上会掉馅饼,给出馅饼掉落的坐标和时间,一开始小明的位置是在坐标为5的位置, 他每秒钟只能移动一米的距离, ...

  2. hdu 1176 免费馅饼(动态规划)

    AC code: #include<stdio.h> #include<string.h> #define max(a,b) (a>b?a:b) #define maxo ...

  3. HDU 1176 免费馅饼 (动态规划)

    HDU 1176 免费馅饼 (动态规划) Description 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼 ...

  4. hdu 1176 免费馅饼(数塔类型)

    http://acm.hdu.edu.cn/showproblem.php?pid=1176 免费馅饼 Time Limit: 2000/1000 MS (Java/Others)    Memory ...

  5. HDU 1176 免费馅饼 (类似数字三角形的题,很经典,值得仔细理解的dp思维)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1176 免费馅饼 Time Limit: 2000/1000 MS (Java/Others)     ...

  6. HDU 1176免费馅饼 DP数塔问题转化

    L - 免费馅饼 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Sta ...

  7. HDU 1176 免费馅饼【动态规划】

    解题思路:用a[i][j]表示在第i秒在地点j的掉落馅饼的数量,设整个馅饼掉落的时间持续为timemax,即为矩阵的高度,一共0到10个地点,为矩阵的长度,如图,即可构成数塔,因为考虑到在地点0的时候 ...

  8. HDU 1176 免费馅饼(记忆化搜索)

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

  9. HDU 1176 免费馅饼

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

随机推荐

  1. 网页制作怎么加MP4,用HTML代码

    <video src="movie.mp4" controls="controls"> 您的浏览器不支持 video 标签. </video& ...

  2. 初始化spark

    初始化SparkContext 一.初始化sparkimport org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaSpa ...

  3. 创建Idea创建SpringBoot项目 - 各个目录的解释

    [SpringBoot-创建项目]一.通过Idea创建SpringBoot项目 一.首先我们通过Idea创建一个新项目 二.选择sdk和快速构建模板 三.填写项目基本信息 三.选择项目依赖 四.填写项 ...

  4. Vue学习日记(二)——Vue核心思想

    前言 Vue.js是一个提供MVVM数据双向绑定的库,其核心思想无非就是: 数据驱动 组件系统 数据驱动 Vue.js 的核心是一个响应的数据绑定系统,它让数据与DOM保持同步非常简单.在使用 jQu ...

  5. 作业要求20191010-9 alpha week 1/2 Scrum立会报告+燃尽图 07

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/8752 一.小组情况组长:贺敬文组员:彭思雨 王志文 位军营 杨萍队名:胜 ...

  6. java实现二分法查找

    一 前提 使用二分法查找的前提是:有序的数组,没有重复的数据元素.如果没有排序过的,需先排序. 二分法查找时使用场景为:数据量较大时 二 代码 package com.xiao.day01; publ ...

  7. AXIS2 通过 WSDL生成JAVA文件

    有时在我们的开发中可能会有这种情况就是你要使用webservice但是对方没有给你提供java文件,可能就只会给你一个wsdl文件,这种文件和xml文件是比较相似.axis2也给我们提供了很好的工具如 ...

  8. 为什么重写了equals(),还要重写hashCode()?

    解决这个问题得先明白:hashCode 方法用于散列集合的查找,equals 方法用于判断两个对象是否相等. 第一步:具体背景(没有背景的讨论就是在耍流氓) 以HashMap中put方法为背景 第二步 ...

  9. Android 带你读懂事件分发

    工作有一段时间,有必要掌握事件传递的机制,最近研究了一下,记录下心得.1 Android中的事件 android中触摸事件比较多,封装中MotionEvent类中,点击.触摸.滑动是我们常用的事件 M ...

  10. 半硬化树脂PP的型号

    1080是PP半固化胶片的型号(perperg),还有7628,2116,2113,2112,1506等等型号,每种型号不一样代表其PP内部的玻纤布不一样,比如7628的玻纤布相对较粗.数值较小则玻纤 ...