动态规划:HDU1176-免费馅饼
Total Submission(s): 24440 Accepted Submission(s): 8264

为了使问题简化,假设在接下来的一段时间里,馅饼都掉落在0-10这11个位置。开始时gameboy站在5这个位置,因此在第一秒,他只能接到4,5,6这三个位置中其中一个位置上的馅饼。问gameboy最多可能接到多少个馅饼?(假设他的背包可以容纳无穷多个馅饼)
提示:本题的输入数据量比较大,建议用scanf读入,用cin可能会超时。
5 1
4 1
6 1
7 2
7 2
8 3
0
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e5+10;
int d[maxn][15];
void get_ans(int max_t)
{
//倒着找就行了
for(int i=max_t-1; i>=0; i--)
for(int j=0; j<=10; j++)
d[i][j] = max(d[i+1][j],max(d[i+1][j-1],d[i+1][j+1])) + d[i][j];
int Max = 0;
printf("%d\n",d[0][5]);
}
int main()
{
int n;
int max_t = 0;
while(scanf("%d",&n) && n)
{
memset(d,0,sizeof(d));
int t,p;
for(int i=0; i<n; i++)
{
scanf("%d%d",&p,&t);
if(t > max_t)
max_t = t;
d[t][p]++;//构成矩阵
}
get_ans(max_t);
}
}
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e5+100;
int maps[maxn][15];
bool vis[maxn][15];
int main()
{
int n;
while(scanf("%d",&n) && n)
{
int Max = 0;
memset(vis,0,sizeof(vis));
memset(maps,0,sizeof(maps));
vis[0][5] = true;
int t,p,max_t = 0;
for(int i=0; i<n; i++)
{
scanf("%d%d",&p,&t);
maps[t][p]++;
if(t > max_t)
max_t = t;
}
for(int i=1; i<=max_t; i++)
{
//用来构成三角形
for(int j=0; j<=10; j++)
{
if(vis[i-1][j] || vis[i-1][j-1] || vis[i-1][j+1])
vis[i][j] = true;
if(!vis[i][j])
maps[i][j] = 0;//不在三角形区域的地方化成0,这样不影响结果
} for(int j=0; j<=10; j++)
{
maps[i][j] = max(maps[i-1][j],max(maps[i-1][j-1],maps[i-1][j+1])) + maps[i][j];
Max = max(Max,maps[i][j]);//记录一下最大的值
}
}
printf("%d\n",Max);
}
return 0;
}
动态规划:HDU1176-免费馅饼的更多相关文章
- (动态规划)免费馅饼--hdu--1176
http://acm.hdu.edu.cn/showproblem.php?pid=1176 免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory ...
- hdu1176免费馅饼(动态规划,数塔)
免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- 解题报告 HDU1176 免费馅饼
免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- hdu1176 (免费馅饼)
免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- hdu-1176免费馅饼
免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- kuangbin专题十二 HDU1176 免费馅饼 (dp)
免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- HDU1176 免费馅饼 —— DP
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=1176 免费馅饼 Time Limit: 2000/1000 MS (Java/Others ...
- HDU1176:免费馅饼(DP)
Problem Description 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁 ...
- HDU1176免费馅饼(DP)
都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内.馅饼如果掉在了地上当然就 ...
- HDU-1176.免费馅饼(数字三角形变形)
看到网上大多都是逆向的总结,我来搞个正向的吧... 这道题想着是和数字三角形差不多的,但是最后愣是没有写出来,感受到一股菜意......哭唧唧.jpg 本题大意: 给定n个序列,每个序列包含两个数表示 ...
随机推荐
- codesmith 在安装32位Oracle 客户端问题解决
问题解决办法如下: https://blog.csdn.net/csdn1152789046/article/details/52248669
- C#与重构(入门)
C#与代码重构(入门) 重构(Refactoring)就是通过调整程序代码改善软件的质量.性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性. 单从概念少来理解重构可能很抽象,那么通过下 ...
- 一个关于document.write()的问题
Index.html中: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> ...
- 谈谈我对MVC的View层实现的理解
MVC框架可以把应用清晰明了地分为三个部分:Model层–数据层,View层–视图层,Controller–逻辑层,Model层负责整合数据,View层负责页面渲染,Controller层负责实现业务 ...
- 第6章 传输层(详解TCP的三次握手与四次挥手)
第6章 传输层 传输层简介 传输层为网络应用程序提供了一个接口,并且能够对网络传输提供了可选的错误检测.流量控制和验证功能.TCP/IP传输层包含很多有用的协议,能够提供数据在网络传输所需的必要寻址信 ...
- css动画-模拟正余弦曲线
今天就写一个css3抛物线的动画吧= = 从左到右的抛物线动画,我们就暂且把动作分为匀速向右运动和变速的上下运动. 水平匀速运动我们可以利用 translateX(x):定义 2D 转换,沿着 X 轴 ...
- python 实例方法,类方法,静态方法
实例方法 class Human(object): def __init__(self, weight): self.weight = weight def get_weight(self): ret ...
- Qt安装教程
一.Qt下载 官网下载链接http://download.qt.io/archive/qt/,下载最新版 5.10 官网的下载网站有的时候可能会抽风,也可以选择国内的镜像下载源http://mirro ...
- Android商城开发系列(十二)—— 首页推荐布局实现
首页新品推荐的布局效果如下图: 这块布局是使用LinearLayout和GridView去实现,新建recommend_item.xml,代码如下所示: <?xml version=" ...
- linux下获取外网IP
使用阿里云或者有多个网卡IP的机器需要取外网IP时,可以用下面这种 wget -qO - ifconfig.co 更多方法参考:https://yq.aliyun.com/ziliao/105999