ZCMU 2092 最大子陣

2021-10-01 21:07:59 字數 720 閱讀 7258

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

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

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

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

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

3 3-1 -4 3

3 4 -1

-5 -2 8

#include

#define ll long long

#define mem(a) memset(a,0,sizeof(a))

#define n 1000000007

#define pi acos(-1)

int f[

550]

[550];

int p[

550]

;int dp[

550]

;intfi(

int n)

return ans;

}int

main()

}int maxsum = f[1]

[1];

for(

int i =

1; i <= n; i++)}

printf

("%d\n"

, maxsum)

;return0;

}

最大子陣 C

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

矩陣最大子陣

樣例輸入 332 41 1214 22 樣例輸出 6 1,暴力列舉,直接卡主上下左右邊界 include using namespace std int a 55 55 intmain 前四層迴圈卡住矩陣上下左右,後兩個遍歷求和 for int i 1 i n i if t ans ans t co...

最大子陣和

解題思路 首先,考慮一維的情況。a1,a2,a3,an的最大子串行和。我們維護乙個 最大字首和 當這個字首和小於0的時候,就替換為當前值,那麼最大值一定在這些字首和中。然後對於二維的情況,我們列舉可能的起始列標,這樣就是一維的最大子串行和的問題了。例如,當我們選定第一列和第三列後,把每一行第一列到第...