51Nod 1051最大子矩陣和

2021-09-11 13:31:57 字數 952 閱讀 4299

2 秒131,072 kb

40 分

基礎題4 級題

難題乙個m*n的矩陣,找到此矩陣的乙個子矩陣,並且這個子矩陣的元素的和是最大的,輸出這個最大的值。例如:3*3的矩陣:-1 3 -12 -1 3-3 1 2和最大的子矩陣是:3 -1-1 31 2

乙個m*n的矩陣,找到此矩陣的乙個子矩陣,並且這個子矩陣的元素的和是最大的,輸出這個最大的值。

例如:3*3的矩陣:

-1 3 -1

2 -1 3

-3 1 2

和最大的子矩陣是:

3 -1

-1 3

1 2收起展開全文

第1行:m和n,中間用空格隔開(2 <= m,n <= 500)。

第2 - n + 1行:矩陣中的元素,每行m個數,中間用空格隔開。(-10^9 <= m[i] <= 10^9)

輸出和的最大值。如果所有數都是負數,就輸出0。
3 3

-1 3 -1

2 -1 3

-3 1 2

7
對測試用例來說,假設最大的子矩陣的行數為3,那麼就可以把列數相加,二維矩陣也就變成了一維矩陣 ,題目就轉換成了求最大子段的和。那麼只要遍歷假設的部分,也就是遍歷行數,就能求出最大的子矩陣行數為1,行數為2的最大子段和,找出最大的值就是二維矩陣的最大子矩陣的值。時間複雜度為o(n^3).

#include#include#include#includeusing namespace std;

int map[510][510];

long long a[510];

int main()

} }printf("%lld\n",ans);

return 0;

}

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...