問題 s 動態規劃 最大連續子串行和

2021-09-26 15:30:07 字數 1177 閱讀 1806

題目描述

張琪曼喜歡思考人生的意義,她發現每個人的一生不可能一帆風順,或多或少總要經過坎坷挫折的考驗。於是她將人的一生的每個關鍵時間點以數值表示,快樂值越高,分值越高,痛苦值越高,分值越低甚至會成為負數。進一步研究,她又發現人的記憶總是會記住那些快樂的時光,而淡忘痛苦的時光。於是她想統計出某個人連續最大的一段快樂時光總和是多少。即給定k個整數的序列,其任意連續子串行可表示為,其中 1 ≤i ≤j≤k。最大連續子串行是所有連續子串行中元素和最大的乙個,例如給定序列,其最大連續子串行為,最大和為20。這即是所謂的「最大連續子串行和」問題。

輸入輸入n(n≤100000)和n個整數。

輸出輸出該序列中最大的連續子串行的和max。

複製樣例資料

5

1 2 -5 11 3

樣例輸出

14
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f

typedef long long ll;

using namespace std;

int n,s[100010],dp[100010],jg;

int main()

printf("%d\n",dp[jg]);

return 0;

}//6

//-2 11 -4 13 -5 -2

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define inf 0x3f3f3f3f

typedef long long ll;

using namespace std;

int zd(int n,int *a)

return sum;

}int main()

動態規劃 最大連續子串行和

題目大意就是讓你選出一段和最大的連續序列,當有幾個序列和並列時,選出下標最小的的連續序列。可以採用動態規劃的思想解決,設一連續序列為a 0 a 1 a n 分別以a 0 a 1 a n 結尾的最大序列和為d 0 d 1 d n 若d i 1 0,則d i d i 1 a i 若d i 1 0,則d ...

動態規劃 最大連續子串行和

動態規劃 最大連續子串行和 問題描述 給定乙個數字序列a1,a2,an,求i,j 1 i j n 使得ai aj最大,輸出這個最大和。樣例 211 413 5 2顯然 11 4 13 20 為和最大的選取情況,因此最大和為20 下面介紹動態規劃的做法,複雜度為o n 讀者會發現其實左端點的列舉是沒有...

動態規劃 最大連續子串行和

給定乙個數字序列,a1,a2,an,求i,j 1 i j n 使得ai aj最大,輸出這個最大和。樣例輸入 2 11 4 13 5 2 輸出 20 即11 4 13 20 最大 分析 如果暴力做的話,乙個列舉,需要o n 2 在計算需要o n 一共需要o n 3 因為重複計算的太多了,還是設定乙個d...