Beans

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2518    Accepted Submission(s): 1250

Problem Description

  Bean-eating is an interesting game, everyone owns an M*N matrix, which is filled with different qualities beans. Meantime, there is only one bean in any 1*1 grid. Now you want to eat the beans and collect the qualities, but everyone must obey by the following rules: if you eat the bean at the coordinate(x, y), you can’t eat the beans anyway at the coordinates listed (if exiting): (x, y-1), (x, y+1), and the both rows whose abscissas are x-1 and x+1.

Now, how much qualities can you eat and then get ?

Input

  There are a few cases. In each case, there are two integer M (row number) and N (column number). The next M lines each contain N integers, representing the qualities of the beans. We can make sure that the quality of bean isn't beyond 1000, and 1<=M*N<=200000.

Output

  For each case, you just output the MAX qualities you can eat and then get.

Sample Input

4 6

11 0 7 5 13 9

78 4 81 6 22 4

1 40 9 34 16 10

11 22 0 33 39 6

Sample Output

242

   题目的意思是给一个矩阵,没一点放置一定数量的豆,求出最多能吃多少个豆。但是吃豆有一定的规则,如果吃点(x,y)的豆,那么点(x,y-1)、点(x,y+1)和点(x,y)所在行的上一行和下一行的豆都不能吃。所以我们要做的事首先将每一行所能吃到的最大豆的数量求出来,即求出每一行非连续的最大子序列和,然后将每一行所求的最大豆数量保存到数组序列中,同样的方法求出数组序列的非连续的最大子序列和即为所能吃到的最大豆的数量。

  状态转移方程:sum[i] = dp[i-2]+a[i],dp[i] = max(sum[i],dp[i-1]),2<=i<=n,初始化sum[0]=dp[0]=0,sum[1]=dp[1]=a[1]。

我的代码:

 #include <iostream>
#include <cstdio>
using namespace std;
#define N 200003
int sum[N],dp[N],map[N],row[N]; int solve(int a[],int n)
{
int i;
sum[] = ;
dp[] = ;
sum[] = a[];
dp[] = a[];//数组dp代表最大豆的数量
for(i=; i<=n; i++)
{
sum[i] = dp[i-]+a[i];
dp[i] = max(sum[i],dp[i-]);
}
return dp[n];
} int main()
{
int i,j,n,m,sum;
while(scanf("%d%d",&n,&m)!=EOF)
{
for(i=; i<=n; i++)
{
for(j=; j<=m; j++)
scanf("%d",&map[j]);
row[i] = solve(map,m);
}
sum = solve(row,n);
printf("%d\n",sum);
}
return ;
}

Hdu 2845 Beans的更多相关文章

  1. HDU 2845 Beans (DP)

    Beans Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status ...

  2. HDU 2845 Beans (两次线性dp)

    Beans Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  3. HDU 2845 Beans (动态调节)

    Beans Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  4. HDU 2845 Beans(dp)

    Problem Description Bean-eating is an interesting game, everyone owns an M*N matrix, which is filled ...

  5. HDU 2845 Beans (DP)

    Problem Description Bean-eating is an interesting game, everyone owns an M*N matrix, which is filled ...

  6. hdu 2845 Beans(最大不连续子序列和)

    Problem Description Bean-eating is an interesting game, everyone owns an M*N matrix, which is filled ...

  7. hdu 2845 Beans 2016-09-12 17:17 23人阅读 评论(0) 收藏

    Beans Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  8. hdu 2845——Beans——————【dp】

    Beans Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  9. hdu 3037Saving Beans(卢卡斯定理)

    Saving Beans Saving Beans Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Jav ...

随机推荐

  1. 【BZOJ】3495: PA2010 Riddle

    题意 \(n(1 \le n \le 1000000)\)个城市,\(k(1 \le k \le n)\)个国家,\(m(1 \le m \le 1000000)\)条边.要求每个国家有且仅有一个首都 ...

  2. Flume_初识

    企业架构 数据源 webserver RDBMS 数据的采集 shell.flume.sqoop job 监控和调度 hue.oozie 数据清洗及分析 mapreduce.hive 数据保存 sqo ...

  3. jqgrid no url reset

    如果发现 jqgrid 在运行中出现次错误,可能是以下原因 $('#@(ViewBag.tabcid + "_grid")').jqGrid('navGrid', '#@(View ...

  4. 你听说过哪些坑人 or 赚钱的歪点子?真是骗局太多,傻子都不够用啊!

    又到了骗术揭秘时间了.各位看客您扶稳做好了,来给你深扒一些行业内幕了. 或者说一些投机的思路. 先提前写一些字,相信你们一会评论时候会用的上.直接复制,比较省力. “这年头傻逼太多,骗子明显不够用啊. ...

  5. IE浏览器测试

    http://www.iefans.net/ http://ie8.00791.com/ https://www.browserstack.com/http://browserhacks.com/

  6. ECMAScript Web APIs node.js

    https://hacks.mozilla.org/2015/04/es6-in-depth-an-introduction/ What falls under the scope of ECMASc ...

  7. C# fun

    C#中Func<T,TResult>的用法和Lambda表达式 代码片段: Func<int,string,string> t=(int x, string b) => ...

  8. Matlab中常用机器学习函数

    更多内容请参考http://cn.mathworks.com/help/stats/index.html?s_cid=doc_ftr. Naive Bayes(朴素贝叶斯) Factor = Naiv ...

  9. mysql去重

    select a.id,a.ssmz,(select count(ssmz) from shop_tourist_key b where b.ssmz=a.ssmz) as count        ...

  10. fuck--Fix git command line spelling errors GitHub

    修复Git输入错误,挺有意思.git命令关键字如果输入错误,会提示最接近的正确关键字,如果提示内容是你想要的,输入'fuck',就能执行了. GitHub源码.源码生成exe,windows上运行. ...