Likecloud—吃、吃、吃(P1508)
题目链接:Likecloud—吃、吃、吃
这题的状态非常的自然。
就是ans[i][j]表示从(i,j)出发,能得到的最大能量值。
那么对应每一个点,我们只要选出他能到达的点的最大值,加上自己就行了。
但要注意两点:
- 刚开始,也有三个选择
- 注意n==1的情况
所以代码就出来了:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m;
scanf("%d%d",&m,&n);
int nmap[m][n];
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
scanf("%d",&nmap[i][j]);
}
}
int ans[m][n];
memset(ans,0xc0,sizeof(ans));
for(int i=0;i<n;i++){
ans[0][i]=nmap[0][i]; //1
}
for(int i=1;i<m;i++){
if(n==1){
ans[i][0]=ans[i-1][0]+nmap[i][0];//2
}else{ //3
ans[i][0]=max(ans[i-1][1],ans[i-1][0])+nmap[i][0];
ans[i][n-1]=max(ans[i-1][n-1],ans[i-1][n-2])+nmap[i][n-1];
}
for(int j=1;j<n-1;j++){ //4
ans[i][j]=max(ans[i-1][j-1],ans[i-1][j])+nmap[i][j];
ans[i][j]=max(ans[i][j],ans[i-1][j+1]+nmap[i][j]);
}
}
if(n==1){
printf("%d",ans[m-1][0]);
}else{ //5
int maxn=max(ans[m-1][n/2],ans[m-1][n/2-1]);
maxn=max(maxn,ans[m-1][n/2+1]);
printf("%d",maxn);
}
return 0;
}
讲5处:
1处:第一行直接复制
2处:如果是n==1,直接一路加起来就行了。
3处:else里放的是每一行两个端点,他们需要特殊处理,因为他们只有两个选择。
4处:对于每一个点,做三种选择。此处会直接把n==1过滤掉(自己想)。
5处:注意,刚开始也有三种选择,所以需要判断,找一个最大值。
Likecloud—吃、吃、吃(P1508)的更多相关文章
- 洛谷 P1508 Likecloud-吃、吃、吃
P1508 Likecloud-吃.吃.吃 题目提供者JosephZheng 标签 动态规划 难度 普及/提高- 题目背景 问世间,青春期为何物? 答曰:"甲亢,甲亢,再甲亢:挨饿,挨饿,再 ...
- 洛谷——P1508 Likecloud-吃、吃、吃
P1508 Likecloud-吃.吃.吃 题目背景 问世间,青春期为何物? 答曰:“甲亢,甲亢,再甲亢:挨饿,挨饿,再挨饿!” 题目描述 正处在某一特定时期之中的李大水牛由于消化系统比较发达,最近一 ...
- 洛谷 P1508 Likecloud-吃、吃、吃 题解
P1508 Likecloud-吃.吃.吃 题目背景 问世间,青春期为何物? 答曰:"甲亢,甲亢,再甲亢:挨饿,挨饿,再挨饿!" 题目描述 正处在某一特定时期之中的李大水牛由于消化 ...
- 洛谷P1508 Likecloud-吃、吃、吃 [2017年4月计划 动态规划10]
P1508 Likecloud-吃.吃.吃 题目背景 问世间,青春期为何物? 答曰:“甲亢,甲亢,再甲亢:挨饿,挨饿,再挨饿!” 题目描述 正处在某一特定时期之中的李大水牛由于消化系统比较发达,最近一 ...
- 【洛谷】【动态规划(二维)】P1508 Likecloud-吃、吃、吃
[题目描述:] 正处在某一特定时期之中的李大水牛由于消化系统比较发达,最近一直处在饥饿的状态中.某日上课,正当他饿得头昏眼花之时,眼前突然闪现出了一个n*m(n and m<=200)的矩型的巨 ...
- VIJOS-P1364 Likecloud-吃、吃、吃
JDOJ 1465: VIJOS-P1364 Likecloud-吃.吃.吃 https://neooj.com/oldoj/problem.php?id=1465 Description ...
- 洛谷P1508 Likecloud-吃、吃、吃
题目背景 问世间,青春期为何物? 答曰:“甲亢,甲亢,再甲亢:挨饿,挨饿,再挨饿!” 题目描述 正处在某一特定时期之中的李大水牛由于消化系统比较发达,最近一直处在饥饿的状态中.某日上课,正当他饿得头昏 ...
- P1508 Likecloud-吃、吃、吃 DP
题目背景 问世间,青春期为何物? 答曰:“甲亢,甲亢,再甲亢:挨饿,挨饿,再挨饿!” 题目描述 正处在某一特定时期之中的李大水牛由于消化系统比较发达,最近一直处在饥饿的状态中.某日上课,正当他饿得头昏 ...
- [LUOGU]P1508 Likecloud-吃、吃、吃
题目背景 问世间,青春期为何物? 答曰:"甲亢,甲亢,再甲亢:挨饿,挨饿,再挨饿!" 题目描述 正处在某一特定时期之中的李大水牛由于消化系统比较发达,最近一直处在饥饿的状态中.某日 ...
随机推荐
- ajax+js数据模板+后台
.net 后台,ajax+js模板引擎的数据填充,制作无刷新分页 js模板用laytpl 待续...
- oracle 调试数据库
转载:https://www.cnblogs.com/liuqiyun/p/6589814.html 工具/原料 PL\SQL Oracle 方法/步骤 首先在PL/SQL的左侧资源栏中展 ...
- oracle 简单输出语句与赋值
输出: declare stuName varchar2(30); stuAge number; begin stuName:='jack'; stuAge:=30; dbms_output.put_ ...
- linux安装redis及主从复制、读写分离、哨兵模式
Redis安装与部署 版本最好选择3.0及以上.以后还可以部署Redis集群. 1.下载: [root@bogon redis-3.0.0]# cd /usr/local [root@bogon lo ...
- [转]Docker到底是什么?为什么它这么火?
如果你是数据中心或云计算IT圈子的人,这一年多来应该一直在听到普通的容器.尤其是Docker,关于它们的新闻从未间断过.Docker1.0在今年6月发布后,声势更是达到了前所未有的程度. 动静之所以这 ...
- [剑指Offer]24-反转链表
题目链接 https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca?tpId=13&tqId=11168&t ...
- eclipse启动出现Could not read metadata for ……
Could not read metadata for …… E:\workspace\.metadata\.plugins\org.eclipse.core.resources\.projects\ ...
- C++ 求最长递增子序列(动态规划)
i 0 1 2 3 4 5 6 7 8 a[i] 1 4 7 2 5 8 3 6 9 lis[i] 1 2 3 2 3 4 3 4 5 时间复杂度为n^2的算法: //求最长递增子序列 //2019/ ...
- 关于MYSQL字符集问题(一)
MySQL的字符集支持(Character Set Support)有两个方面: 字符集(Character set)和排序方式(Collation). 对于字符集的支持细化到四个层次: 服务器(se ...
- echarts柱形图x轴显示不全或者每隔一个不显示的问题
问题原因可能:x轴数据间隔太小: 问题解决: 1.调整间隔属性 xAxis: { type: 'category', //坐标轴斜着显示 axisLabel: { interval:0, rotate ...