最大子矩陣和

2022-06-03 20:18:11 字數 604 閱讀 6017

問題:就是輸入乙個n*m的矩陣,找出在矩陣中,所有元素加起來之和最大的子矩陣。

思路:將輸入的矩陣每一列求前幾項和,此時矩陣的每一行都相當於乙個二維矩陣,此後用求最大子串行求最大值即可。

#include #include #include #include using namespace std;

const double pi=acos(-1.0);

const int inf=0x7fffffff;

int a[105][105];

int dp[105][105];

int n,m,mx,sum;

int main()

} if(mx<0) cout<

else

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

else

mx=max(mx,sum); //每處理完乙個矩陣要更新最大值 }}

} }cout<

return 0;

}

最大子段和 最大子矩陣和

給出n個整數序列 可能為負數 組成的序列a1,a2,an,求該序列形如 的子段和的最大值。當所有整數均為負數時,定義最大子段和為0。多測試用例。每個測試用例佔2行 第一行是序列的個數n 0 n 10000 第二行是n個整數。為每個測試用例輸出一行結果 最大子段和。6 2 11 4 13 5 2 31...

最大子矩陣和

前言 今天花了很長時間,看了無數人寫的帖子,但是幾乎沒有人把這個問題一下子說得很清楚,所以,我把這個問題按照自己的思路寫出來,希望能夠把這個問題講清楚。問題 求乙個m n的矩陣的最大子矩陣和。比如在如下這個矩陣中 0 2 7 0 9 2 6 2 4 1 4 1 1 8 0 2 擁有最大和的子矩陣為 ...

最大子矩陣和

前言 今天花了很長時間,看了無數人寫的帖子,但是幾乎沒有人把這個問題一下子說得很清楚,所以,我把這個問題按照自己的思路寫出來,希望能夠把這個問題講清楚。問題 求乙個m n的矩陣的最大子矩陣和。比如在如下這個矩陣中 0 2 7 0 9 2 6 2 4 1 4 1 1 8 0 2 擁有最大和的子矩陣為 ...