我們來先看題:
n個整數組成的序列a1
,a2,a3
,…,an
,求該序列如ai
+ai+
1+…+aj
的連續子段和的最大值。當所給的整數均為負數時和為0。
例如:-2,11,-4,13,-5,-2,和最大的子段為:11,-4,13。和為20。
這個題也許你沒有什麼思路,上網上查有許多會告訴你動態規劃、分治什麼了,當然這些都是必備的演算法,別的地方說的也不錯,但是我感覺這個題只要仔細看看**,就全明白了。
input 第1行:整數序列的長度n(2 <= n <= 50000)
第2 - n + 1行:n個整數(-10^9 <= a
i<= 10^9) output 輸出最大子段和。 sample input
6sample output-211
-413
-5-2
20
ac**:
#include#includeusing namespace std;
int main()
printf("%lld",ans);
}
51Nod 1049 最大子段和
n個整數組成的序列a 1 a 2 a 3 a n 求該序列如a i a i 1 a j 的連續子段和的最大值。當所給的整數均為負數時和為0。例如 2,11,4,13,5,2,和最大的子段為 11,4,13。和為20。input 第1行 整數序列的長度n 2 n 50000 第2 n 1行 n個整數 ...
51nod 1049 最大子段和
1049 最大子段和 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 n個整數組成的序列a 1 a 2 a 3 a n 求該序列如a i a i 1 a j 的連續子段和的最大值。當所給的整數均為負數時和為0。例如 2,11,4,13,5,2,和最大的子段為 11,4,1...
51Nod 1049 最大子段和
1049 最大子段和 基準時間限制 1 秒 空間限制 131072 kb 分值 0 難度 基礎題 n個整數組成的序列a 1 a 2 a 3 a n 求該序列如a i a i 1 a j 的連續子段和的最大值。當所給的整數均為負數時和為0。例如 2,11,4,13,5,2,和最大的子段為 11,4,1...