HDU 1231 最大連續子串行(DP)

2021-06-07 13:07:59 字數 606 閱讀 7261

給定k個整數的序列,其任意連續子串行可表示為,其中 1 <= i <= j <= k。最大連續子串行是所有連續子串行中元素和最大的乙個, 

例如給定序列,其最大連續子串行為,最大和為

20。 

要求得到最大和,並輸出該

子串行的第乙個和最後乙個元素。

思路是dp,用f [ i ]表示以第 i 個數字為結尾的子串行的最大和, 以m[ i ] 表示第 i 個數。那麼 f [ i ] = max( f[i - 1], m[ i ] )。

#include#include#includeusing namespace std;

int dp[11000];

int head[11000];

int input[11000];

int main()else

} if(allneg)

int max = dp[1];

int h = head[1], t = 1;

for(int i = 1; i <= k; i++)

} printf("%d %d %d\n", max, input[h], input[t]);

}}

hdu 1231 最大連續子串行

狀態方程dp i max dp i 1 a i a i dp 0 a 0 include include include include include include include include include include include include include includeus...

HDU 1231 最大連續子串行

problem description 給定k個整數的序列,其任意連續子串行可表示為,其中 1 i j k。最大連續子串行是所有連續子串行中元素和最大的乙個,例如給定序列,其最大連續子串行為,最大和 為20。在今年的資料結構考卷中,要求編寫程式得到最大和,現在增加乙個要求,即還需要輸出該 子串行的第...

HDU1231 最大連續子串行

problem description 給定k個整數的序列,其任意連續子串行可表示為,其中 1 i j k。最大連續子串行是所有連續子串行中元素和最大的乙個,例如給定序列,其最大連續子串行為,最大和 為20。在今年的資料結構考卷中,要求編寫程式得到最大和,現在增加乙個要求,即還需要輸出該 子串行的第...