本来是很简单的一道题,却想了好长时间

由于数据量比较大,所以逐行读入,逐行处理

先处理每一行的不相邻元素和的最大值,记录在数组b中

最后计算不相邻行的和的最大值

二者的状态转移方程都类似:dp[j] = max(dp[j - 1], dp[j - 2] + a[j]);

 1 //#define LOCAL
 2 #include <iostream>
 3 #include <cstdio>
 4 #include <cstring>
 5 #include <algorithm>
 6 using namespace std;
 7
 8 const int maxn = 200000 + 5;
 9 int a[maxn], b[maxn], dp[maxn];
10
11 int main(void)
12 {
13     #ifdef LOCAL
14         freopen("2845in.txt", "r", stdin);
15     #endif
16
17     int row, col;
18     while(scanf("%d%d", &row, &col) == 2)
19     {
20         dp[0] = 0;
21         for(int i = 1; i <= row; ++i)
22         {//处理行
23             scanf("%d", &a[1]);
24             dp[1] = a[1];
25             for(int j = 2; j <= col; ++j)
26             {
27                 scanf("%d", &a[j]);
28                 dp[j] = max(dp[j - 1], dp[j - 2] + a[j]);
29             }
30             b[i] = dp[col];
31         }
32
33         dp[1] = b[1];
34         for(int j = 2; j <= row; ++j)    //处理列
35             dp[j] = max(dp[j - 1], dp[j - 2] + b[j]);
36
37         printf("%d\n", dp[row]);
38     }
39     return 0;
40 }

代码君

转载于:https://www.cnblogs.com/AOQNRMGYXLMV/p/3871015.html

HDU 2845 Beans相关推荐

  1. Hdu 2430 Beans (数据结构_单调队列)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2430 题目大意:有n坨豌豆,每坨都有w[i]个,现在要从中选择连续的若干坨,然后用一个能装p个豌豆的背 ...

  2. 个人DP训练(基础版)

    题目链接    hdu 2955 Robberies 01背包,转化为求被抓的概率. 题目链接       hdu   1864  最大报销额 01背包,每张发票的总额为容量和价值,注意预处理数据,对 ...

  3. eclipse找不到java方法,Linux启动eclipse报错找不到java环境解决方法

    在Linux mint下,前几天还用得很好的的eclipse,今天开机不知为什么这样. Eclipse 3.6 在 linux mint 12 可以在终端顺利启动Eclipse,但是鼠标双击,或者用起 ...

  4. 解题报告 (十) 单调栈

    文章目录 单调栈 解题报告 PKU 2082 Terrible Sets HDU 2430 Beans HDU 4252 A Famous City PKU 2796 Feel Good HDU 34 ...

  5. linux安装桌面上的软件,linux安装桌面软件

    CentOS 作为服务器的操作系统是很常见的,但是因为需要稳定而没有很时髦的更新,所以很少做为桌面环境.在服务器上通常不需要安装桌面环境,最小化地安装 CentOS(也就是 minimal CentO ...

  6. Saving Beans HDU - 3037(卢卡斯定理)

    Saving Beans HDU - 3037(卢卡斯定理) 题意: 他们想知道有多少种方法可以在n树中保存不超过m个bean(它们是相同的). 现在他们求助于你,你应该给他们答案. 结果可能非常巨大 ...

  7. 2845 ACM 豆子 beans

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=2845 题意:吃豆子游戏 , 当你吃了一个格子的豆子 , 该格子左右两个和上下两行就不能吃了 , 输入每个格 ...

  8. HDU 3037 Saving Beans (Lucas法则)

    主题链接:http://acm.hdu.edu.cn/showproblem.php?pid=3037 推出公式为C(n + m, m) % p. 用Lucas定理求大组合数取模的值 代码: #inc ...

  9. HDU 3037 Saving Beans [Lucas定理]

    不超过n个球放入m个盒子方案数,盒子可以为空 1 <= n, m <= 1000000000, 1 < p < 100000 and p is guaranteed to be ...

最新文章

  1. Linux DHCP服务搭建
  2. Swing编程基础 之四
  3. 心目中的编程高手zz, 有点academic风格的说^_^
  4. android studio 快速删除无用的import包
  5. python 简单图像处理(8) 直方图均衡化
  6. openstack安装rabbitmq-server消息队列时出现错误
  7. java教程菜鸟教程组合模式,组合实体模式
  8. 用C#编写Linux守护进程
  9. php 中文截断,PHP中实现中文字串截取无乱码的解决方法
  10. 【janino】janino 加载自定义函数报错CompileException Expression bytesIn is not an rvalue
  11. Rust 让人奔溃的那些特性!
  12. Coherence缓存学习
  13. 苏世民的54条人生成功经验
  14. Self2Self With Dropout: Learning Self-Supervised Denoising From Single Image【使用单张图像进行自监督学习去噪】
  15. win10+cuda9.2+cudnn 安装趟过的坑
  16. 解决win10更新打印机共享问题
  17. 第14周 预习实验与作业:Java数据库编程
  18. 编程资源 : vc6英文企业版完整版5CD
  19. ffmpeg多媒体库使用综述
  20. 会员管理小程序实战开发教程-会员信息删除

热门文章

  1. LeetCode 面试题55 二叉树的深度
  2. 小尼机器人_小尼被机器人嫌弃“唱歌难听,长相一般”?
  3. python统计词频_Python统计四六级考试的词频
  4. android 编辑9图片,Android基础入门教程——1.6 .9(九妹)图片怎么玩
  5. 光端机使用过程中碰到的九大问题
  6. 串口服务器常见异常情况排除方法介绍
  7. 控制器局域网can总线
  8. 基于无线通信技术的智能公交系统设计
  9. 京津冀计算机学科大学排名,2021年京津冀地区高校排名公布,北师排第三,央财不敌河大?...
  10. zeal刷新不出来_推进重涂市场标准化,立邦率先推出刷新服务“八大验收标准”...