problem desciption
乙個m*n的矩陣,找到此矩陣的乙個子矩陣,並且這個子矩陣的元素的和是最大的,輸出這個最大的值。input例如:3*3的矩陣:
-1 3 -1
2 -1 3
-3 1 2
和最大的子矩陣是:
3 -1
-1 3
1 2
第1行:m和n,中間用空格隔開(2 <= m,n <= 500)。output第2 - n + 1行:矩陣中的元素,每行m個數,中間用空格隔開。(-10^9 <= m[i] <= 10^9)
輸出和的最大值。如果所有數都是負數,就輸出0。input示例
3 3output示例 思路:-1 3 -1
2 -1 3
-3 1 2
感覺這個不是很好表達,和最大連續子段和,有點相似,子矩陣和,就相當於把兩行之間的和看成乙個數,然後向右,求最大連續子段和。
#include
using
namespace
std;
#define inf 0x3f3f3f3f
int main()
}long
long ans = 0;//記錄最大的子矩陣
for(i = 1; i <= n; i++)}}
printf("%lld\n", ans);
}}
51 nod1051 最大子矩陣和
1051 最大子矩陣和 基準時間限制 2 秒 空間限制 131072 kb 分值 40 難度 4級演算法題 乙個m n的矩陣,找到此矩陣的乙個子矩陣,並且這個子矩陣的元素的和是最大的,輸出這個最大的值。例如 3 3的矩陣 1 3 1 2 1 3 3 1 2 和最大的子矩陣是 3 1 1 3 1 2 ...
51nod1051 最大子矩陣和
1051 最大子矩陣和 基準時間限制 2 秒 空間限制 131072 kb 分值 40 難度 4級演算法題 乙個m n的矩陣,找到此矩陣的乙個子矩陣,並且這個子矩陣的元素的和是最大的,輸出這個最大的值。例如 3 3的矩陣 1 3 1 2 1 3 3 1 2 和最大的子矩陣是 3 1 1 3 1 2 ...
51nod 1051 最大子矩陣和
1051 最大子矩陣和 基準時間限制 2 秒 空間限制 131072 kb 分值 40 難度 4級演算法題 乙個m n的矩陣,找到此矩陣的乙個子矩陣,並且這個子矩陣的元素的和是最大的,輸出這個最大的值。例如 3 3的矩陣 1 3 1 2 1 3 3 1 2 和最大的子矩陣是 3 1 1 3 1 2i...