51nod 1051 最大子矩阵和

Posted 王宜鸣

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了51nod 1051 最大子矩阵和相关的知识,希望对你有一定的参考价值。

思路:

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 最大子矩阵和的主要内容,如果未能解决你的问题,请参考以下文章

51nod 1051 最大子矩阵和(dp)

51nod 1051 最大子矩阵和

模板51nod 1051 最大子矩阵和

51 nod 1051 最大子矩阵和

51nod 1051

51nod四级题(第一波汇总)