51nod1051 最大子矩陣和

2021-08-15 18:55:35 字數 925 閱讀 5877

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

input

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

output

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

input示例

3 3-1 3 -12 -1 3-3 1 2

output示例7

思路:列舉左右邊界,然後就轉化成了最大子段和,每一行相當於乙個數,用陣列記錄字首和。

code:

#include #define ll long long 

using namespace std;

const int ax = 5e2+66;

ll a[ax][ax];

ll sum[ax][ax];

ll b[ax][ax];

ll res ;

int main()

} for( int i = 1 ; i <= n ; i ++ )

} if( !ok )

res = 0;

for( int i = 1 ; i <= m ; i ++ )

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

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

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

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