最大子矩陣 dp

2021-09-18 08:07:56 字數 1418 閱讀 1600

已知矩陣的大小定義為矩陣中所有元素的和。給定乙個矩陣,你的任務是找到最大的非空(大小至少是1 1)子矩陣。

比如,如下4 4的矩陣

0 -2 -7 0

9 2 -6 2

-4 1 -4 1

-1 8 0 -2

的最大子矩陣是

9 2-4 1

-1 8

這個子矩陣的大小是15。

輸入是乙個n * n的矩陣。輸入的第一行給出n (0 < n <= 100)。再後面的若干行中,依次(首先從左到右給出第一行的n個整數,再從左到右給出第二行的n個整數……)給出矩陣中的n2個整數,整數之間由空白字元分隔(空格或者空行)。已知矩陣中整數的範圍都在[-127, 127]。

輸出最大子矩陣的大小。

用map[i][j]來表示ij位置的矩陣字首和。如下圖(借用一波左學姐的圖/xyx),要求寬為(i−j)這麼寬的最大區間和,就可以把i到j行按列加到一起,然後就轉換成了求一維陣列最大子段和,每乙個元素就是紅色區域。下圖矩陣a的紅色區域就可以表示為: map[i][k]−map[i][k−1]−map[j−1][k]+map[j−1][k−1]。

最大子矩陣 DP

time limit 10000ms memory limit 165888kb 64bit io format lld llu hysbz 1084 這裡有乙個n m的矩陣,請你選出其中k個子矩陣,使得這個k個子矩陣分值之和最大。注意 選出的k個子矩陣不能相互重疊。第一行為n,m,k 1 n 10...

最大子矩陣問題 dp

e acmer 題意 給你乙個矩陣,求它的所有元素和最大的子矩陣.分析 我們只知道一維的情況就是經典的最大子段和.然而維數達到二維就變的複雜了.我們觀察資料範圍500,易想到n3 的演算法也能過.純暴力是n4 的方法 然後可以通過列舉其中一維,dp最後一維的方法求出.處理列上的和為字首和,然後列舉列...

dp專題 最大子矩陣

題目大意 求乙個最大為100 100矩陣中的子矩陣中元素之和的最大值。列舉此子矩陣是第i行到第j行。然後壓成一維dp最大子段和。include include include include include include include include include include includ...