码迷,mamicode.com
首页 > 其他好文 > 详细

51nod 1051 最大子矩阵和

时间:2017-04-01 20:31:03      阅读:254      评论:0      收藏:0      [点我收藏+]

标签:nbsp   stream   i++   sizeof   str   memset   nod   cin   color   

思路:

dp。

实现:

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <algorithm>
 4 #include <cstring>
 5 using namespace std;
 6 typedef long long ll;
 7 
 8 int n, m, a[505][505], dp[505];
 9 ll b[505];
10 
11 ll solve(ll * c)
12 {
13     ll sum = 0, maxnn = 0;
14     for (int l = 0; l < m; l++)
15     {
16         sum += c[l];
17         if (sum < 0)
18             sum = 0;
19         if (sum > maxnn)
20             maxnn = sum;
21     }
22     return maxnn;
23 }
24 
25 int main()
26 {
27     cin >> m >> n;
28     for (int i = 0; i < n; i++)
29         for (int j = 0; j < m; j++)
30             cin >> a[i][j];
31     ll maxn = 0;
32     for (int i = 0; i < n; i++)
33     {
34         memset(b, 0, sizeof(b));
35         for (int j = i; j < n; j++)
36         {
37             for (int k = 0; k < m; k++)
38             {
39                 b[k] += a[j][k];
40             }
41             ll s = solve(b);
42             maxn = max(maxn, s);
43         }
44     }
45     cout << maxn << endl;
46     return 0;
47 }

 

51nod 1051 最大子矩阵和

标签:nbsp   stream   i++   sizeof   str   memset   nod   cin   color   

原文地址:http://www.cnblogs.com/wangyiming/p/6657367.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!