免费馅饼 HDU - 1176 基础dp
/*题都是有一个状态转移方程式 ,
只要推出方程式就问题不大了,首
先对于gameboy来说他下一秒只能
在0~10这十一个位置移动,
而对于1~9这九个位置来说他可以移动(假设他现在的位置为x)到x+1,或者x-1,或者x;
0和10这两个位置只有两个位置可以移动,
可以用dp[t][x],t秒的馅饼获得就看t-1秒时的下一位置(x+1,x,x-1)
因为要求整个过程的最大值,因此求的是dp累加的和,
所以状态转移方程式为 dp[i][j]+=max(dp[i+1][j-1],max(dp[i+1][j],dp[i+1][j+1]));
*/
#include<cstring>
#include<iostream>
#include<algorithm>
#include<math.h>
#include<stdio.h>
using namespace std;
int dp[][];
int main()
{
int n;
while(scanf("%d",&n),n)
{
int t,x,tt=;
memset(dp,,sizeof(dp));
for(int i=; i<n; i++)
{
scanf("%d %d",&x,&t);
//t是时间
//x+1是位置加1
dp[t][x+]++;
tt=max(tt,t);
}
int res=;
//只有最开始的位置是确定的,所以从后面的时间往前
for(int i=tt-; i>=; i--)
//往前面推,在此位置接到的馅饼数,是这一位置接到的加上上一秒接到的和
for(int j=; j>=; j--)
dp[i][j]+=max(dp[i+][j-],max(dp[i+][j],dp[i+][j+]));
//初始位置在5号位置,
cout<<dp[][]<<endl;
}
return ;
}
免费馅饼 HDU - 1176 基础dp的更多相关文章
- 免费馅饼 HDU - 1176 (动态规划)
都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内.馅饼如果掉在了地上当然就 ...
- 题解报告:hdu 1176 免费馅饼(递推dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1176 Problem Description 都说天上不会掉馅饼,但有一天gameboy正走在回家的小 ...
- HDU 1176 免费馅饼(数塔dp)
一开始被吓到了,后来再仔细一读发现就是一个数塔,没有那么复杂 #include<stdio.h> #include<string.h> #include<algorith ...
- HDU 1176 经典dp
记录最晚时间 从time为2枚举到最晚时间 每个时间段的x轴节点都等于上一个时间段的可触及的最大馅饼数 #include<stdio.h> #include<string.h> ...
- [ An Ac a Day ^_^ ] HDU 1257 基础dp 最长上升子序列
最近两天在迎新 看来只能接着水题了…… 新生培训的任务分配 作为一个有担当的学长 自觉去选了动态规划…… 然后我觉得我可以开始水动态规划了…… 今天水一发最长上升子序列…… kuangbin有nlog ...
- HDU 1204 基础DP 非连续字段的最大和
其实这个感觉是一眼题,只不过我真心太菜了. 题目已经告诉你了,有m段,n个数字,那么我们就只需要dp[m][n]即可,然后最后的答案肯定是dp[m][]的那一行,所以其他行都是没有用的,因为我们可以把 ...
- HDU 1029 基础dp
题目链接:Ignatius and the Princess IV 大意:就是在N个数里找出唯一一个至少出现过(N+1)/ 2 次的数. 1 <= N <= 999999. hash: / ...
- Max Sum Plus Plus HDU - 1024 基础dp 二维变一维的过程,有点难想
/* dp[i][j]=max(dp[i][j-1]+a[j],max(dp[i-1][k])+a[j]) (0<k<j) dp[i][j-1]+a[j]表示的是前j-1分成i组,第j个必 ...
- HDU 1003 基础dp 最大连续序列和
常常做错的一道题.. 因为总是要有一个长度的 所以一开始的s与e都是1 maxx也是a[1] 然后再求 从i=2开始 在这里注意 me永远是当前i 而ms则可能留在原地 可能直接等于i 判断条件就是当 ...
随机推荐
- OpenLayers 6 学习笔记2 WMS服务避坑记录
心血来潮,花1小时安装软件写代码+复习api,顺便熟悉一波wms 再次强化认知了wms获取要素的能力没有wfs强,有待考究 原文链接(转载请声明@秋意正寒 博客园/知乎/B站/csdn/小专栏):h ...
- Happycorp:1 Vulnhub Walkthrough
靶机链接: https://www.vulnhub.com/entry/happycorp-1,296/ 网络主机扫描::: 主机端口扫描: NFS文件系统,尝试挂载试试 mount -t nfs 1 ...
- count(1)比count(*)效率高?
SELECT COUNT(*) FROM table_name是个再常见不过的统计需求了. 本文带你了解下Mysql的COUNT函数. 一.COUNT函数 关于COUNT函数,在MySQL官网中有详细 ...
- PVE裸机虚拟化环境安装之后的一些部署记录
pve镜像使用的是proxmox-ve_6.1-1 安装之后root登录 apt update 更新源的时候会出现一些问题,是因为其中有一个企业源报错的原因 安装sudo和vim,否则不好管理非roo ...
- ggEditor给节点增加提示框
参考官方文档: https://www.yuque.com/antv/g6/plugin.tool.tooltip 在react-ggEditor使用方法: import React from 're ...
- for _ in range(n) python里那些奇奇怪怪的语法糖
for _ in range(n)中 _ 是占位符, 表示不在意变量的值 只是用于循环遍历n次. 例如在一个序列中只想取头和尾,就可以使用_ 其实意思和for each in range(n)是一个意 ...
- CF926B Add Points
一道尚未评定的水题 更好的阅读体验 思路 来分析分析样例: 3 -5 10 5 我们把它升序排列,会得到这个东西↑ 不仔细地观察后可以发现:加一个(0,0)的点显然是最优的 再用脚趾头想想为什么,我们 ...
- [IOI2018] werewolf 狼人 [kruskal重构树+主席树]
题意: 当你是人形的时候你只能走 \([L,N-1]\) 的编号的点(即大于等于L的点) 当你是狼形的时候你只能走 \([1,R]\) 的编号的点(即小于等于R的点) 然后问题转化成人形和狼形能到的点 ...
- Git 的 .gitignore 配置说明 (C#)
1.配置语法: 以斜杠“/”开头表示目录: 以星号“*”通配多个字符: 以问号“?”通配单个字符 以方括号“[]”包含单个字符的匹配列表: 以叹号“!”表示不忽略(跟踪)匹配到的文件或目录: 此外,g ...
- 【架构篇】ASP.NET Core 基于 Consul 动态配置热更新
背景 通常,.Net 应用程序中的配置存储在配置文件中,例如 App.config.Web.config 或 appsettings.json.从 ASP.Net Core 开始,出现了一个新的可扩展 ...