题目链接:Likecloud—吃、吃、吃

这题的状态非常的自然。

就是ans[i][j]表示从(i,j)出发,能得到的最大能量值。

那么对应每一个点,我们只要选出他能到达的点的最大值,加上自己就行了。

但要注意两点:

  1. 刚开始,也有三个选择
  2. 注意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)的更多相关文章

  1. 洛谷 P1508 Likecloud-吃、吃、吃

    P1508 Likecloud-吃.吃.吃 题目提供者JosephZheng 标签 动态规划 难度 普及/提高- 题目背景 问世间,青春期为何物? 答曰:"甲亢,甲亢,再甲亢:挨饿,挨饿,再 ...

  2. 洛谷——P1508 Likecloud-吃、吃、吃

    P1508 Likecloud-吃.吃.吃 题目背景 问世间,青春期为何物? 答曰:“甲亢,甲亢,再甲亢:挨饿,挨饿,再挨饿!” 题目描述 正处在某一特定时期之中的李大水牛由于消化系统比较发达,最近一 ...

  3. 洛谷 P1508 Likecloud-吃、吃、吃 题解

    P1508 Likecloud-吃.吃.吃 题目背景 问世间,青春期为何物? 答曰:"甲亢,甲亢,再甲亢:挨饿,挨饿,再挨饿!" 题目描述 正处在某一特定时期之中的李大水牛由于消化 ...

  4. 洛谷P1508 Likecloud-吃、吃、吃 [2017年4月计划 动态规划10]

    P1508 Likecloud-吃.吃.吃 题目背景 问世间,青春期为何物? 答曰:“甲亢,甲亢,再甲亢:挨饿,挨饿,再挨饿!” 题目描述 正处在某一特定时期之中的李大水牛由于消化系统比较发达,最近一 ...

  5. 【洛谷】【动态规划(二维)】P1508 Likecloud-吃、吃、吃

    [题目描述:] 正处在某一特定时期之中的李大水牛由于消化系统比较发达,最近一直处在饥饿的状态中.某日上课,正当他饿得头昏眼花之时,眼前突然闪现出了一个n*m(n and m<=200)的矩型的巨 ...

  6. VIJOS-P1364 Likecloud-吃、吃、吃

    JDOJ 1465: VIJOS-P1364 Likecloud-吃.吃.吃 https://neooj.com/oldoj/problem.php?id=1465 Description       ...

  7. 洛谷P1508 Likecloud-吃、吃、吃

    题目背景 问世间,青春期为何物? 答曰:“甲亢,甲亢,再甲亢:挨饿,挨饿,再挨饿!” 题目描述 正处在某一特定时期之中的李大水牛由于消化系统比较发达,最近一直处在饥饿的状态中.某日上课,正当他饿得头昏 ...

  8. P1508 Likecloud-吃、吃、吃 DP

    题目背景 问世间,青春期为何物? 答曰:“甲亢,甲亢,再甲亢:挨饿,挨饿,再挨饿!” 题目描述 正处在某一特定时期之中的李大水牛由于消化系统比较发达,最近一直处在饥饿的状态中.某日上课,正当他饿得头昏 ...

  9. [LUOGU]P1508 Likecloud-吃、吃、吃

    题目背景 问世间,青春期为何物? 答曰:"甲亢,甲亢,再甲亢:挨饿,挨饿,再挨饿!" 题目描述 正处在某一特定时期之中的李大水牛由于消化系统比较发达,最近一直处在饥饿的状态中.某日 ...

随机推荐

  1. pta7-20 畅通工程之局部最小花费问题(Kruskal算法)

    题目链接:https://pintia.cn/problem-sets/15/problems/897 题意:给出n个城镇,然后给出n×(n-1)/2条边,即每两个城镇之间的边,包含起始点,终点,修建 ...

  2. ActiveMQ之HelloWorld

    JMS实现JMS接口的消息中间件 Provider:生产者 Consumer:消费者 PTP:Point to Point:点对点的消息模型 Pub/Sub:Publish/Subscribe:发布订 ...

  3. 【Linux 线程】线程同步《三》

    1.条件变量 条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待"条件变量的条件成立"而挂起:另一个线程使"条件成立"(给出条 ...

  4. 使用python读写CSV文件

    # -*- coding:UTF-8 -*- __autor__ = 'zhouli' __date__ = '2018/10/25 21:14' import csv with open('resu ...

  5. java web获取客户端外网ip和所在区域

    @参考文章1.@参考文章2.@参考文章3.@参考文章4,@之前同事的项目 controller @Controller @RequestMapping("/home") publi ...

  6. 4-windows 用cmd 如何输入命令 进入文件夹

    比如是你要到d盘的 tmp目录,那么敲入 cd d:\tmp 回车,然后在敲入 d:回车即可

  7. 云计算之 PaaS详解

    PaaS是Platform-as-a-Service的缩写,意思是平台即服务. Paas - 概述 计算机技术 PaaS(Platform-as-a-Service:平台即服务) 全称:(Platfo ...

  8. socket错误代码

    Socket error 0 - Directly send error Socket error 10004 - Interrupted function call一个封锁操作被对 WSACance ...

  9. DevExpress如何实现皮肤的添加及本地化

    DevExpress.XtraBars.Helpers.SkinHelper类允许您填充现有RibbonGalleryBarItem或任意菜单(PopupMenu或BarSubItem)项目对应的De ...

  10. c#多线程下的进程同步SignalAndWait 使用简单说明

    解释:向一个 WaitHandle 发出信号并等待另一个进入信号. 总体概述: .NET Framework中提供一些类用于手动进行线程间的访问同步.这些类主要分为3大类别(但正如下文中会看到的这些类 ...