藍橋杯 最大子陣 dp

2021-07-02 00:41:17 字數 1047 閱讀 6069

歷屆試題 最大子陣  

時間限制:1.0s   記憶體限制:256.0mb

問題描述

給定乙個n*m的矩陣a,求a中的乙個非空子矩陣,使這個子矩陣中的元素和最大。

其中,a的子矩陣指在a中行和列均連續的一塊。

輸入格式

輸入的第一行包含兩個整數n, m,分別表示矩陣a的行數和列數。

接下來n行,每行m個整數,表示矩陣a。

輸出格式

輸出一行,包含乙個整數,表示a中最大的子矩陣中的元素和。

樣例輸入

3 3-1 -4 3

3 4 -1

-5 -2 8

樣例輸出

10樣例說明

取最後一列,和為10。

資料規模和約定

對於50%的資料,1<=n, m<=50;

對於100%的資料,1<=n, m<=500,a中每個元素的絕對值不超過5000。

列舉最大子陣的開始行和結束行,對應開始行和結束行內在一列的所有元素加和,形成乙個一維陣列,求所有這樣一維陣列的最大子段和的最大值,即為答案。

#include #include #define n 510

#define inf 0x3f3f3f3f

using namespace std;

int n, m;

int map[n][n];

int sum[n][n];

int mymax(int *p)

return max;

}int main()

}int max = -inf;

for (int i = 0; i < n; i++)

int res = mymax(temp);

if (res > max)

max = res;}}

printf("%d\n", max);

return 0;

}

藍橋杯 最大子陣

2.類似的題 zoj problem set 1074 給定乙個n m的矩陣a,求a中的乙個非空子矩陣,使這個子矩陣中的元素和最大。其中,a的子矩陣指在a中行和列均連續的一塊。樣例說明 取最後一列,和為10。資料規模和約定 對於100 的資料,1 n,m 500,a中每個元素的絕對值不超過5000。...

藍橋杯 最大子陣

給定乙個nxm的矩陣a,求a中的乙個非空子矩陣,使這個子矩陣中的元素和最大。其中,a的子矩陣指在a中行和列均連續的一塊。輸入格式 輸入的第一行包含兩個整數n,m,分別表示矩陣a的行數和列數。接下來n行,每行m個整數,表示矩陣a。輸出格式 輸出一行,包含乙個整數,表示a中最大的子矩陣中的元素和。3 3...

藍橋杯 歷屆試題 最大子陣

歷屆試題 最大子陣 時間限制 1.0s 記憶體限制 256.0mb 問題描述 給定乙個n m的矩陣a,求a中的乙個非空子矩陣,使這個子矩陣中的元素和最大。其中,a的子矩陣指在a中行和列均連續的一塊。輸入格式 輸入的第一行包含兩個整數n,m,分別表示矩陣a的行數和列數。接下來n行,每行m個整數,表示矩...