51nod 1051 最大子矩陣和

2021-08-31 03:51:32 字數 828 閱讀 9865

乙個m*n的矩陣,找到此矩陣的乙個子矩陣,並且這個子矩陣的元素的和是最大的,輸出這個最大的值。

第1行:m和n,中間用空格隔開(2 <= m,n <= 500)。

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

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

-1 3 -1

2 -1 3

-3 1 2

7
解法:

設最後形成的答案子矩陣是 【 (x1, y1), ( x2, y2 )  】, 那麼< x1, x2 > 的組合共有n^2個,列舉n^2個組合,每個組合用行上的字首和求出 (  x1,k )、( x2,k ) 上數字的和,然後 o(m)複雜度求最大子段和。總複雜度 o(n^2 * m).

**:

#includeusing namespace std;

typedef long long lint;

const int max_n = 1e5+1e2;

int n,m;

lint num[510][510];

lint sum[510][510];

lint a[510];

lint getmax()

return res;

}void solve()

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

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

}int main()

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

51nod1051 最大子矩陣和

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