題目:
求最長序列的和的拓展,有一維拓展到二維,
首先判斷每一行的最大值,然後記錄下最大的值,
再將然後,把第i行後的各行對應列的元素加到第i行的對應列元素,每加一行,就求一次最大欄位和,這樣就把子矩陣的多行壓縮為一行了,一行了就是最大欄位和了啊!
#include #include using namespace std;
int m[101][101];
int main()
{ int n,max,tmp;
while(scanf("%d",&n)!=eof)
{max=-1000;
for(int i=0;i0) tmp+=m[i][j];
else
tmp=m[i][j];
if(max0) tmp+=m[i][k];
else
tmp=m[i][k];
if(max
Poj 1050 動態規劃
題目大意 給乙個方矩陣,求解元素和最大的子矩陣。最終要求輸出最大和結果。題目分析 一位陣列的最大和通過動態規劃是很好解決的,利用如下遞推公式即可 dp i max 然而這是乙個二維的問題。一開始,按照動態規劃的思想,我期望把問題歸結為乙個最優子問題,但是失敗了。後來把問題規劃為一維陣列解決,是很好的...
poj1050 (最大子矩陣和)
首先要熟悉一下最大子段和 即最大連續子串的和 給一串數字,找到最大子段和的值。一般方法是dp,dp i 表示以a i 為結尾的最大子段和,那麼dp i max dp i 1 a i a i 即,當dp i 1 0時,dp i a i 否則dp i dp i 1 a i 有了一維的基礎,現在來看看矩陣...
poj1050最大子矩陣和
這篇是看了別人的報告寫的,就當是屢屢思路好了.題目大意。給定乙個n階矩陣 方陣 每個元素中存在乙個數字.任務就是求出乙個最大的子矩陣使得矩陣元素之間的和是最大的.n 100 1.矩陣a m n 的和可以直接 sum a i j i 0 to n 1 j 0 to n 1 還可以求出第i列的和p i ...