給定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。在今年的資料結構考卷中,要求編寫程式得到最大和,現在增加乙個要求,即還需要輸出該 子串行的第...