學習到的處理最大子矩陣問題運用列舉的思路

2021-08-10 22:56:13 字數 670 閱讀 1051

最大子矩陣問題

i,j 控制縱向擴充套件,sum記錄最大連續陣列的和控制橫向擴充套件

具體如下表示

a   b   c

矩陣 =      d    e   f

g    h   i

i=0 

j=0 

k=0 1 2   矩陣為 [a,b,c],用sum記錄最大連續陣列並更新

j=1   

k= 0 1 2 矩陣為 [a+d,b+e,c+f],用sum記錄最大連續陣列並更新

j=2

k=0 1 2 矩陣為[a+d+g,b+e+h,c+f+i],用sum記錄最大連續陣列並更新

i=1j=1

k=0 1 2矩陣為[d,e,f],用sum記錄最大連續陣列並更新

j=2k=0 1 2矩陣為[d+g,e+h,f+i],用sum記錄最大連續陣列並更新

i=2j=3

k=0 1 2矩陣為[d,h,i],用sum記錄最大連續陣列並更新

**如下

#include

#include

#include

#include

using namespace std;

int a[130][130];

int b[130];

int main()}}

cout}

最大子矩陣問題

thinking開始令pos1 1,pos2 1 先判斷pos1 pos2高度的每個格仔,取或者不取,得出一維也就是只有第一行的最大子矩陣。然後pos2 因為是要求連續子矩陣,那麼從第一行到第二行的子矩陣相加,就相當與只判斷一行,可以找出pos1 1到pos2 2也就是第一行到第二行且只取這兩行作為...

最大子矩陣和問題

給定乙個長度為n的一維的陣列matrix n 讓求其最大matrix i matrix i 1 matrix j sum問題?簡單演算法 窮舉法先預處理map n 表示從matrix 0 matrix n 的和 for int i 0 to n for int j i 1 to n int tmp ...

最大子矩陣問題 dp

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