HDU 2845 DP Beans
来源:互联网 发布:最新淘宝店铺装修教程 编辑:程序博客网 时间:2024/05/16 08:28
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2845
分析:题目意思就是不能有任何两个数在相邻的行和相邻的列中,先对某一行分析,如果先取了第1个数,则接下来可以取第3或4个数(因为求所有取的数之和最大,所以不可能一下跳过3个以上),如果先取第2个数,接下来可以取第4或5个数,依此类推......
从这里可以观察到,当取到第4个数时,所有取出数的和的大小取决于第1个数和第2个数的大小,意思就是当取到第i个数时,和的大小取决于取到第i-3个数和取到第i-2时和的大小,即c[i]=c[i]+max(c[i-2],c[i-3]);那么对于每一列也同样考虑,可以得到r[i]=r[i]+max(r[i-2],r[i-3]).
#include<cstdio>#include<cmath>#include<iostream>using namespace std;int r[2000001], c[2000001];int main(){ int n,m; while (~scanf("%d%d",&n,&m)) { r[0]=0;c[0]=0; for(int i=1; i<=n; i++) { for(int j=1; j<=m; j++) scanf("%d",&c[j]); for(int j=3;j<=m; j++) c[j]+=max(c[j-2],c[j-3]); r[i]=max(c[m-1],c[m]); if(i>=3)r[i]+=max(r[i-2],r[i-3]); } printf("%d\n", max(r[n],r[n-1])); } return 0;}
- HDU 2845 Beans (DP)
- HDU 2845 DP Beans
- hdu 2845 Beans (DP)
- HDU 2845 Beans DP
- hdu 2845 Beans dp
- HDU 2845 Beans DP -
- hdu 2845 Beans(dp)
- hdu 2845 Beans--二维DP
- hdu 2845 Beans(dp)
- HDU 2845 Beans (DP)
- HDU 2845 Beans(dp)
- HDU 2845 Beans 行列dp
- HDU-2845 Beans(DP)
- HDU-2845-Beans-简单dp
- HDU 2845 Beans(dp)
- hdu 2845 Beans(二次DP)
- HDU 2845 Beans (两次线性dp)
- HDU-2845-Beans(简单DP)
- C++中的单例模式
- 获取iphone的硬件版本以及系统信息
- android编译系统的makefile文件Android.mk写法如下
- 教你1分钟学会傻瓜式的GitHub项目托管
- winusb —— 不再为你的usb设备编写驱动
- HDU 2845 DP Beans
- iOS开发MD5/SHA1加密算法
- Python3.x实现网页登录表单提交功能
- 利用SAX解析xml文件
- word中插入矢量图的方法
- Cocoa Touch Layer
- 两分钟学会在GitHub托管代码
- 根据 子网掩码 算出 最大主机数目
- 用 logcat 命令来查看 android 系统日志缓冲区的内容