http://acm.hdu.edu.cn/showproblem.php?pid=2845&&最大不连续数和

原创 2012年03月26日 09:37:19

Beans

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


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-1和x+1行不能选,(x,y-1)和(x,y+1)也不能选,,,状态转移方程
b[i]=max(b[i-2]+b[i],b[i-1])
AC代码:
#include<iostream>
#include<string.h>
#include<string>
#include<algorithm>
#define N 200005
using namespace std;
int a[N],b[N];
int main()
{
  int n,m;
  while(cin>>n>>m)
  {  memset(b,0,sizeof(b));
      for(int i=1;i<=n;++i)
         {
             for(int j=1;j<=m;++j)
               cin>>b[j];
              for(int j=2;j<=m;++j)
              b[j]=max(b[j-2]+b[j],b[j-1]);
              a[i]=b[m];
          }
      for(int i=2;i<=n;++i)
          a[i]=max(a[i-2]+a[i],a[i-1]);
      cout<<a[n]<<endl;
  }return 0;
}



【HDU-1023】 Train Problem II 【卡特兰数+高精度】

传送门:http://acm.split.hdu.edu.cn/showproblem.php?pid=1023 描述: Train Problem II Time Limit: 2000/100...
  • guhaiteng
  • guhaiteng
  • 2016-10-26 23:25:28
  • 236

http://acm.hdu.edu.cn/showproblem.php?pid=1087

最大递增连续子串和。。。dp[i]表示以第i点为结束点最大连续子串和 状态转移方程dp[i]=s[i];  if(s[j] AC代码: #include #include #include #...
  • smallacmer
  • smallacmer
  • 2012-03-13 21:17:05
  • 379

http://acm.hdu.edu.cn/showproblem.php?pid=1004

stl map水过,,,水题继续。。 #include #include #include using namespace std; int main() { int n; while(cin>...
  • smallacmer
  • smallacmer
  • 2012-01-06 10:51:09
  • 364

Hdu 5309 JRY is Fighting 2015 Multi-University Training Contest 2

JRY is Fighting Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Other...
  • u013188850
  • u013188850
  • 2015-07-31 19:28:19
  • 745

http://acm.hdu.edu.cn/showproblem.php?pid=1166&&线段树区间求和

这两天写几道线段树题,意外发现建树的过程其实就是先序的过程,如果写的是动态的话,删除结点的过程就是后序的过程。。 #include #include #include #include #defin...
  • smallacmer
  • smallacmer
  • 2012-03-24 09:49:00
  • 645

HDU 5776 sum ( BC #85 1001)

sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Su...
  • llwwlql
  • llwwlql
  • 2016-08-01 00:24:33
  • 521

HDU 2866 Special Prime 找规律

题意:称n和m为任意数的p,p为素数 满足等式的p为特殊的素数 求不大于L的特殊的素数的个数 思路: 根据下边的提示很容易想到 1=1^3 2=1^3+1^2 8=2^3 12=2^...
  • qq_27925701
  • qq_27925701
  • 2016-03-18 18:55:21
  • 306

HDU 2006-2009

今天刷了四道题目,虽然同样都是解简单题目,但是慢慢还是会感觉自己解题的速度有所提升。很期待能去解一些难的题目,但还是循序渐进吧,一步一个脚印。以下是解题步骤 HDU 2006 /* TH...
  • shaohui305
  • shaohui305
  • 2015-04-22 23:13:46
  • 363

hdu1180 诡异的楼梯--BFS

原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1180 需要注意这句话:Harry每秒只能停留在'.'或'S'和'T'所标记的格子内. #d...
  • LaoJiu_
  • LaoJiu_
  • 2016-07-19 10:11:37
  • 333

HDU 1083 二分匹配

题目大意:有n个学生,p门课程,一个学生可以选修多门课程,现在要为这p门课程分别选一个课代表,且一个学生只能当一个科目的课代表,问是否能满足所有课程都找到课代表。 运用常用模板: #inc...
  • vsooda
  • vsooda
  • 2012-09-24 15:54:03
  • 1103
收藏助手
不良信息举报
您举报文章:http://acm.hdu.edu.cn/showproblem.php?pid=2845&&最大不连续数和
举报原因:
原因补充:

(最多只允许输入30个字)