http://acm.hdu.edu.cn/showproblem.php?pid=1176

首先可以处理出整张地图的状态。

book[T][POS]表示第T秒,在第pos个地方有多少个馅饼。

dp[i][j]表示第i秒的时候,在第j个位置能得到的最大值。

边界值:dp[1][4] = book[1][4];  dp[1][5] = book[1][5]; dp[1][6] = book[1][6];

因为一开始一步只能走到这里。

然后转移枚举下一秒的时候,由上面的状态选一个最大的枚举下来。

因为只和上一唯有关,所以可以用滚动数组来实现。

#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <algorithm>
#define IOS ios::sync_with_stdio(false)
using namespace std;
#define inf (0x3f3f3f3f)
typedef long long int LL; #include <iostream>
#include <sstream>
#include <vector>
#include <set>
#include <map>
#include <queue>
#include <string>
const int maxn = 1e5 + ;
int n;
int book[maxn][];
int dp[][];
void work() {
memset(book, , sizeof book);
memset(dp, , sizeof dp);
int mx = -inf;
for (int i = ; i <= n; ++i) {
int T, pos;
scanf("%d%d", &pos, &T);
book[T][pos]++;
mx = max(mx, T);
}
dp[][] = book[][];
dp[][] = book[][];
dp[][] = book[][];
int now = ;
for (int i = ; i <= mx; ++i) {
for (int j = ; j <= ; ++j) {
if (j == ) {
dp[now][j] = max(dp[!now][j], dp[!now][j + ]) + book[i][j];
} else if (j == ) {
dp[now][j] = max(dp[!now][j - ], dp[!now][j]) + book[i][j];
} else {
dp[now][j] = max(dp[!now][j - ], max(dp[!now][j], dp[!now][j + ])) + book[i][j];
}
}
now = !now;
}
int ans = -inf;
for (int i = ; i <= ; ++i) ans = max(ans, dp[!now][i]);
printf("%d\n", ans);
} int main() {
#ifdef local
freopen("data.txt","r",stdin);
#endif
while (scanf("%d", &n) && n) work();
return ;
}

HDU 1176 免费馅饼 矩阵取数, dp + 滚动数组的更多相关文章

  1. 题解报告:hdu 1176 免费馅饼(递推dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1176 Problem Description 都说天上不会掉馅饼,但有一天gameboy正走在回家的小 ...

  2. 51nod 更难的矩阵取数问题 + 滚动数组优化

    这里要求要走到终点再走回来,可以转化为两个人走. 那么我们可以先粗暴的设f[x1][y1][x2][y2]为第一个人走到(x1, y1), 第二个人走到(x2, y2)的最大价值. 那么这样空间会很大 ...

  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. NOIP2007矩阵取数[DP|高精度]

    题目描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的n*m的矩阵,矩阵中的每个元素aij均为非负整数.游戏规则如下: 1.每次取数时须从每行各取走一个元素,共n个.m次后取完矩阵所有元素: 2. ...

  7. 51Nod 1083 矩阵取数问题(矩阵取数dp,基础题)

    1083 矩阵取数问题 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 一个N*N矩阵中有不同的正整数,经过这个格子,就能获得相应价值的奖励,从左上走到右下,只能向下 ...

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

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

  9. HDU - 1176 免费馅饼 【DP】

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1176 思路 因为刚开始的起点是固定的 但是终点不是固定的 所以我们可以从终点往起点推 dp[i][j] ...

随机推荐

  1. u3d 多线程 网络

    开启一个线程做网络连接,和接收数据, 用event进行广播 using UnityEngine; using System; using System.Threading; using System. ...

  2. 字典树Trie的使用

    1. Trie树介绍 Trie,又称单词查找树.前缀树,是一种多叉树结构.如下图所示: 上图是一棵Trie树,表示了关键字集合{“a”, “to”, “tea”, “ted”, “ten”, “i”, ...

  3. bzoj 3232 圈地游戏——0/1分数规划(或网络流)

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3232 当然是0/1分数规划.但加的东西和减的东西不在一起,怎么办? 考虑把它们合在一起.因为 ...

  4. SQL 优化总结(二) 索引

     索引 1.索引的建立 缺省情况下建立的索引是非群集索引,但有时它并不是最佳的:合理的索引设计要建立在对各种查询的分析和预测上. 一般来说: (1) 有大量重复值.且经常有范围查询(between, ...

  5. fgets(),fscanf()的输入测试与FILE中的当前指针

    fgets(string,int,fp) 回车读入测试 #include <stdio.h> int main() { FILE *fp; ],ch2[],ch3[],ch4[]; fp= ...

  6. Elasticsearch检索分类详解

    前言 Elasticsearch中当我们设置Mapping(分词器.字段类型)完毕后,就可以按照设定的方式导入数据. 有了数据后,我们就需要对数据进行检索操作.根据实际开发需要,往往我们需要支持包含但 ...

  7. JAVA学习笔记——(五)

    今日内容介绍 1.方法基础知识 2.方法高级内容 3.方法案例 01方法的概述 * A: 为什么要有方法 * 提高代码的复用性 * B: 什么是方法 * 完成特定功能的代码块. 02方法的定义格式 * ...

  8. iOS证书和描述文件的配置

    1.登录Apple开发者账号,进入Apple Developer主页,点击Account 2.点击Certificates,ID&Profiles 3.生成CRS文件 1.打开mac上的钥匙串 ...

  9. Linux 之问题集锦(一)

    1. 打开目录时,怎么只显示一个窗口 计算机 -- 编辑 -- 首选项 -- 行为 -- 总是总浏览器窗口中打开 2. linux中添加PATH时出现 Found a swap file by the ...

  10. Halcon - 图像随 HWindowControl 控件缩放的同时,保持图像的长宽比例不变

    背景 通常情况下,图像是填充满 HWindowControl 控件,并随其缩放的.此时只需要将 set_part 的参数设置成图像的大小即可. 不过,有时候,在一些测量任务中,我们对原始图像的长宽比敏 ...