HDU 1176 免费馅饼 矩阵取数, dp + 滚动数组
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 + 20; int n; int book[maxn][12]; int dp[2][12]; void work() {memset(book, 0, sizeof book);memset(dp, 0, sizeof dp);int mx = -inf;for (int i = 1; i <= n; ++i) {int T, pos;scanf("%d%d", &pos, &T);book[T][pos]++;mx = max(mx, T);}dp[1][5] = book[1][5];dp[1][4] = book[1][4];dp[1][6] = book[1][6];int now = 0;for (int i = 2; i <= mx; ++i) {for (int j = 0; j <= 10; ++j) {if (j == 0) {dp[now][j] = max(dp[!now][j], dp[!now][j + 1]) + book[i][j];} else if (j == 10) {dp[now][j] = max(dp[!now][j - 1], dp[!now][j]) + book[i][j];} else {dp[now][j] = max(dp[!now][j - 1], max(dp[!now][j], dp[!now][j + 1])) + book[i][j];}}now = !now;}int ans = -inf;for (int i = 0; i <= 10; ++i) ans = max(ans, dp[!now][i]);printf("%d\n", ans); }int main() { #ifdef localfreopen("data.txt","r",stdin); #endifwhile (scanf("%d", &n) && n) work();return 0; }
View Code
转载于:https://www.cnblogs.com/liuweimingcprogram/p/6003782.html
HDU 1176 免费馅饼 矩阵取数, dp + 滚动数组相关推荐
- hdu 1176 免费馅饼(DP)
免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- HDU 1176 免费馅饼(记忆化搜索)
免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- HDU 1176 免费馅饼 (动态规划、另类数塔)
免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- [ACM_动态规划] hdu 1176 免费馅饼 [变形数塔问题]
Problem Description 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁 ...
- hdu 1176:免费馅饼
hdu1176: http://poj.org/problem?id=1179题意:有一一维坐标系,从0编号到10,一个人站在5上,现在天上正在掉馅饼,这个人每秒只能移动一个单位,所以第一秒只能接住掉 ...
- hdu 1176 免费馅饼(nyist 613)
http://acm.hdu.edu.cn/showproblem.php?pid=1176 dp[i][j]:表示第i秒接j位置的馅饼的最大值. 三种状态: dp[i][j]=max(dp[i-1] ...
- HDU 1176 免费馅饼
一道简单的动态规划题,与http://acm.hdu.edu.cn/showproblem.php?pid=2084数塔思想是一样的,都是从后面往前面推: View Code #include< ...
- 【每日DP】day 10、P1005 矩阵取数游戏【区间DP+高精(python)】难度⭐⭐⭐★
P1005 矩阵取数游戏 输入 2 3 1 2 3 3 4 2 输出 82 说明/提示 NOIP 2007 提高第三题. 数据范围: 60%60\%60% 的数据满足:1≤n,m≤301\le n,m ...
- P1005 矩阵取数游戏(__int128模板/简单dp)
转跳P1005 题目描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的 n \times mn×m 的矩阵,矩阵中的每个元素 a_{i,j}a i,j 均为非负整数.游戏规则如下: 每次取数时 ...
最新文章
- php进销存 手机版_酒水批发用传统本地化部署进销存与云进销存手机版的区别!...
- Cisco Packet Tracer v7.0安装包下载(358MB)
- Spring Cloud Gateway 源码解析(2) —— 路由
- 使用 selector 从 SAP Spartacus state 里读取 Cart 数据
- 格罗方德起诉台积电侵犯16项专利、影响巨大;中兴通讯与印尼Smartfren展开合作;网传FB开发新通讯应用Threads……...
- Python3 协程 + 正则 批量爬取斗鱼美女图片
- Tricks(四十)—— 神经网络解决与(或)及异或问题
- 在克隆环境上分离httpd和subversion。
- 各浏览器flash插件下载地址
- pymol怎么做底物口袋表面_pymol常用操作
- aliyun的产品都是有哪些,主要是做什么的呢?
- 为Eclipse安装lombok插件
- 解决Pycharm装Illuminated Cloud之后无法创建项目的思路_艾孜尔江撰稿
- ospf协议基本概念
- vue移动端适配解决方案
- 小猪佩奇python_小猪佩奇社会人专用服务器,有意思的python小程序,附python代码...
- 王坚清华ATF演讲实录
- 英飞凌单片机知乎_如何评价单片机大神郭天祥?
- Mycat集群部署(基于HAProxy + Mycat)
- Xftp7下载安装与使用