POJ1050&HDU1081-To the Max
2016-08-17 11:03
281 查看
从一个矩阵中寻找和最大的子矩阵,简单的枚举各种情况即可。
数组a表示原矩阵,b表示a中的某几行之和组成的新序列,这样就转换为求新序列的最大连续子序列的和问题了。
在杭电上提交时数据改为多组输入….
数组a表示原矩阵,b表示a中的某几行之和组成的新序列,这样就转换为求新序列的最大连续子序列的和问题了。
在杭电上提交时数据改为多组输入….
#include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int maxn = 100 + 5; int a[maxn][maxn]; int b[maxn]; int calc(int n) { int sum,max_sum; sum = max_sum = 0; for (int i = 0; i < n; i++) { sum += b[i]; if (sum > max_sum) { max_sum = sum; } else if (sum < 0) { sum = 0; } } return max_sum; } int main(int argc, char const *argv[]) { int n; scanf("%d", &n); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { scanf("%d", &a[i][j]); } } int max_sum = 0; for (int i = 0; i < n; i++) { memset(b, 0, sizeof(b)); for (int j = i; j < n; j++) { for (int k = 0; k < n; k++) { b[k] += a[j][k]; } max_sum = max(max_sum, calc(n)); } } printf("%d\n", max_sum); return 0; }
相关文章推荐
- HDU1081--To The Max
- To the max(hdu1081)
- hdu1081 To The Max
- hdu1081 To The Max
- hdu1081 To The Max 「dp」
- hdu1081 To The Max(动态规划-最大子矩阵)
- hdu1081 To The Max(最大子矩阵和)
- hdu1081 To the Max
- hdu1081-To The Max
- hdu1081 To The Max (最大子矩阵和)
- 动态规划(DP)——HDU1081、PKU1050 To The Max 最大子矩阵问题
- HDU1081 To The Max (DP)
- hdu1081 To The Max
- 经典动态规划——HDU1081 To The Max 最大子矩阵问题
- hdu1081 To The Max
- hdu1081 To The Max (dp)
- hdu1081 To The Max 【动态规划】【最大子矩阵】
- UVALive2288 POJ1050 HDU1081 ZOJ1074 To The Max【最大子段和+DP】
- hdu1081-To The Max
- hdu1081 To The Max(动态规划-最大子矩阵)