一、算法分析

乍一看本题有些没有头绪,本题的特点是终点为第一行的任意数,而起点在最后一行,和常见的题相较是反的,而且起点也不在该行的第一个,而是在中间。。。开始的想法是从起点开始找,但是发现很麻烦,但是在仔细一看,画个图出来,这就是不是倒过来的数塔问题吗???所以解法就很直观了,按照和数塔问题一样的思路,从后往前(也就是从第一行开始)倒着推就行了,答案就在起点上。顺便加了一个滚动数组优化,压成一维的。

二、代码及注释

#include<cstdio>
#include<algorithm>
using namespace std;
const int maxn=255;
int n,m;                                   //还是习惯用n,m
int f[2][maxn];
int pos_ed;
int main(){scanf("%d%d",&n,&m); for(int i=1;i<=n;i++){                    //相当于数塔问题的一个改版,采用倒推法 int pos=i&1;int pre=(i&1)^1;for(int j=1;j<=m;j++){scanf("%d",&f[pos][j]);               //读入当前数据 f[pos][j]+=max(f[pre][j-1],max(f[pre][j],f[pre][j+1]));//从三个方向继承 }}printf("%d",max(f[n&1][m/2+1-1],max(f[n&1][m/2+1],f[n&1][m/2+1+1])));//注意这里,牛的起点可能有三个,因为牛最开始处于最后一行中间点的下方,而不是点上 return 0; }

(每日水题004-1)(DP,滚动数组)洛谷P1508 Likecloud-吃、吃、吃相关推荐

  1. 每日一题 --- P1093 [NOIP2007 普及组] 奖学金[洛谷][JAVA]

    题目: 某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金.期末,每个学生都有3门课的成绩:语文.数学.英语.先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到 ...

  2. 4.21每日一题之终于结束的起点(洛谷c++)|斐波那契数列

  3. 【NOIP2015提高组】子串 区间DP+滚动数组优化

    题意: 有两个仅包含小写英文字母的字符串 A 和 B. 现在要从字符串 A 中取出 k 个互不重叠的非空子串,然后把这 k 个子串按照其在字符串 A 中出现的顺序依次连接起来得到一个新的字符串. 请问 ...

  4. 【bzoj 1806/CS 1801】矿工配餐 IOI2007(五维DP+滚动数组)

    楼下是传送门: http://www.lydsy.com/JudgeOnline/problem.php?id=1806 Description 现有两个煤矿,每个煤矿都雇用一组矿工.采煤工作很辛苦, ...

  5. HDU 1176 免费馅饼 矩阵取数, dp + 滚动数组

    http://acm.hdu.edu.cn/showproblem.php?pid=1176 首先可以处理出整张地图的状态. book[T][POS]表示第T秒,在第pos个地方有多少个馅饼. dp[ ...

  6. Top Secret Task(dp+滚动数组)

    传送门: 题目 dp[i][j][k] 表示 考虑到第i个数 计算前j个数的和 进行了k次操作 则有 若不把第i个数放入前j个数中 dp[i][j][k] = dp[i-1][j][k] 若把第i个数 ...

  7. HDU 5617 Jam's maze dp+滚动数组

    题目链接: hdu: http://acm.hdu.edu.cn/showproblem.php?pid=5617 bc(中文): http://bestcoder.hdu.edu.cn/contes ...

  8. HDU - 6578 Blank DP + 滚动数组

    HDU - 6578 Blank 题意 给你\(\{0,1,2, 3\}\)四个数,分别填入长度为\(n\)的数列中,有\(m\)个限制条件,\(l_{i}, r_{i}, x_{i}\)表示在\([ ...

  9. [QLU Regular Contest 003] G.Youmu with greedy money problem //dp+滚动数组

    题目链接 题意: 给一个初始纯度值 m m m,一共度过 n n n天,给出序列 a [ i ] a[i] a[i]和 b [ i ] b[i] b[i],第 i i i天可以执行下列操作方案之一: ...

最新文章

  1. bootstrap之 formgroup表单布局样式
  2. Jquery页面加载效果
  3. 成功解决AttributeError: module 'string' has no attribute 'find'
  4. ASA SSL ××× Anyconnect SBL(Start Before Logon)用于在外网登录域(上)
  5. (转)用 Fiddler 看看 UpdatePanel 发生了什么
  6. 验证码图片显示不出来怎么办_pr 的蒙版不显示了怎么办?
  7. 使用Maven开发用户模块的CRUD(增删改查)
  8. 7.2. cvs login | logout
  9. Python简化代码的操作有哪些
  10. 【2016Esri全球用户大会主题亮点】GIS Apps的交响乐
  11. python三元一次方程代码_求三元一次方程计算器代码
  12. 88.合并两个有序数组
  13. 计算机教师素养有哪些内容,现代教师应具备哪些教育技术能力
  14. python 画图时各种颜色代码
  15. 第一个发布成功的UI组件库
  16. clover写入efi_clover如何使用UEFI引导和EFI驱动选择
  17. ubuntu 查看内存插槽数最大容量和频率
  18. Web应用程序防火墙Waf跟云防火墙有什么区别
  19. noip2014飞扬的小鸟
  20. Webpack 4教程:为什么要优化代码

热门文章

  1. JAVA虚拟机JVM工作原理
  2. K8S原理剖析:Pod、工作负载与服务
  3. 【学习】对产品经理的认知
  4. B2029 大象喝水题解
  5. js实现城市首字母导航
  6. 统一安全管理平台解决方案
  7. 企业如何选择一款适合自己的信息化管理系统?
  8. 《摩根财团》精髓:摩根财团与时俱进,在不同时代扮演不同角色,始终走在时代的前列
  9. 百度AI图像识别 C++ SDK环境配置
  10. 每日新闻 | 华为首款5G手机今日正式开卖