hdu-Beans(动态规划,nyoj-234-吃土豆)
2013-08-26 23:52
447 查看
hdu-2845
nyoj-234吃土豆
一样的题目,测试数据不一样多而已
|
Beans Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2168 Accepted Submission(s): 1094 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 thebeans. 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 Source 2009 Multi-University Training Contest 4 - Host by HDU Recommend gaojie |
一样的题目,测试数据不一样多而已
/*把二维按行列分解然后dp。 dp[i][0] 表示不取第i个能到的最大值 所以dp[i][0] = Max(dp[i-1][0],dp[i-1][1]); dp[i][1] 表示取第i个能到的最大值 所以dp[i][1] = dp[i-1][0]+value[i]; row[i]记录下每一行的最优情况,然后再按照上面的方法进行dp*/ #include<stdio.h> #define Maxn 200001 #define Max(a,b) (a>b?a:b) int dp[Maxn][2]; int value[Maxn]; int row[Maxn]; int M,N; int main() {//Accepted 2845 359MS 236K 835 B G++ 1983210400 int i,j,k; while(~scanf("%d %d",&M,&N)) { dp[0][0]=dp[0][1]=0; for(i=1;i<=M;++i) //把n,m都扩大2,方便dp { for(j=1;j<=N;++j) { scanf("%d",&value[j]); dp[j][0] = Max(dp[j-1][0],dp[j-1][1]); //累积i行到j列的最大和 dp[j][1] = dp[j-1][0]+value[j]; } row[i] = Max(dp [0],dp [1]); } dp[0][0] = 0;dp[0][1] = 0; for (i = 1; i <= M; i++) { dp[i][0] = Max(dp[i-1][0],dp[i-1][1]); dp[i][1] = dp[i-1][0]+row[i]; } printf("%d\n",Max(dp[M][1],dp[M][0])); } return 0; }
相关文章推荐
- nyoj-234-吃土豆(动态规划)
- 吃土豆_nyoj_234(动态规划).java
- NYOJ234吃土豆(双层动态规划)
- nyoj-动态规划-234-吃土豆-201308131021
- nyoj 234 吃土豆
- NYOJ-234 吃土豆
- Nyoj 234 吃土豆
- NYOJ234吃土豆
- nyoj234 吃土豆 01背包
- HDU-2845 Beans 动态规划
- NYOJ 234 吃土豆
- NY--234 -- 吃土豆 [二维动态规划]
- NYOJ 234 吃土豆(基础dp)
- NYOJ-234-DP(吃土豆)
- NYOJ_234_吃土豆
- nyoj 吃土豆 234 (双层DP)
- nyoj 234 吃土豆
- nyoj 234 吃土豆
- NYOJ 234 吃土豆
- NYOJ234-吃土豆(双层DP)