main
黄海 2 years ago
parent 4d0a92d208
commit 8616033a39

@ -8,13 +8,14 @@ int main() {
for (int i = 1; i <= n; i++) for (int i = 1; i <= n; i++)
for (int j = 1; j <= n; j++) { for (int j = 1; j <= n; j++) {
cin >> a[i][j]; cin >> a[i][j];
s[i][j] = s[i - 1][j] + a[i][j]; s[i][j] = s[i - 1][j] + a[i][j]; // 利用一维前缀和把当前第j列前面的1~j-1列的值累加和压缩到第j列每列都是如此处理
} }
for (int i = 1; i <= n; ++i) { // O(N^3)算法
for (int j = 0; j < i; ++j) { for (int i = 1; i <= n; i++) {
for (int j = 0; j < i; j++) {
int _s = 0; int _s = 0;
for (int k = 1; k <= n; ++k) { for (int k = 1; k <= n; k++) {
_s = max(_s, 0) + s[i][k] - s[j][k]; _s = max(_s, 0) + s[i][k] - s[j][k];
res = max(res, _s); res = max(res, _s);
} }

Loading…
Cancel
Save