2008 求數列最大累加和的子串行

2021-09-29 22:43:18 字數 843 閱讀 7693

time limit: 3 second

memory limit: 2 mb

乙個有10個元素、元素值在[-100,100]之間的整數數列,數列的資料通過鍵盤輸入,從中找出最大累加加的子串行。

例如10個數分別如下:10 6 25 30 -3 -29 -61 5 -61 52

所得結果為10+6+25+30=71。

如果10個數分別如下:-69    -62    50    -64    84    1    -29    13    17    -20

所得結果為84+1+-29+13+17=86

輸入檔案有10行,每行輸入乙個元素

輸出只有一行,輸出最大累加和的子串行的各元素及和

10625

30-3

-29-61

5-61

52

10+6+25+30=71
【題解】

這是個動態規劃動態轉移方程是

if (累加和 >0) then f[i] = max(f[i-1],累加和) else f[i] = max(f[i-1],0);

只要在掃瞄的時候順便記錄一下當前累加和的起點和終點就可以

【**】

#include int a[11],f=1,t=1,max;

void input_data()

void get_ans()

}else //如果累加後 <0 則 這個數不取效果是最好的 如 99 -100 加到第二項後=-1還不如直接取乙個99;

}}void output_ans()

int main()

子矩陣最大累加和

問題描述如下 給定乙個矩陣matrix,其中的值有正 有負 有0,返回子矩陣的最大累加和。藍橋備戰資料 演算法很美 chapter4 多維陣列和矩陣 先想到了一維陣列的求子陣列最大累加和的題目,時間複雜度為o n 利用這種思維來處理這道題目。第一列第二列 第三列最大累加和 第一行 1 1 1 1第一...

子矩陣的最大累加和

題目 給定乙個矩陣matrix,其中的值有正 有負 有零,返回子矩陣的最大累加和。例如矩陣matrix為 90 48 78 64 40 64 81 7 66 其中,最大累加和的子矩陣為 48 78 40 64 7 66 所以返回子矩陣的最大累加和為209。解析 最簡單也最容易想到的方法是求出矩陣中的...

子矩陣的最大累加和

一 題目要求 給定乙個矩陣matrix,其中的值有正有負,有0,返回子矩陣的最大累加和,例如,矩陣matrix為 90 48 78 64 40 64 81 07 66 其中,最大累加和的子矩陣為 48 78 40 64 7 66 所以返回累加和209 二 解題思路 將矩陣matrix n n 的每一...