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行,每行輸入乙個元素
輸出只有一行,輸出最大累加和的子串行的各元素及和
1062530-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 的每一...