歷屆試題 最大子陣
時間限制: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個整數,表示矩...