題目鏈結
這道題屬於經典的動態規劃,核心思想即為dp[i] = max(a[i],dp[i-1]+a[i])。
這道題給了我最大的收穫就是要仔細讀題,要麼少看要求,要麼看串要求。。。-.-
**如下
#include#include using namespace std;
int a[10000], dp[10000];
int main()
int mark = 0;
for (int i = 0;i < n;i++)
if (mark == 0)
//若全為負數,則更具要求輸出輸出
dp[0] = a[0];
for (int i = 1;i < n;i++)
dp[i] = max(a[i], dp[i - 1] + a[i]);
int head, tail;
int max = -10086;
for (int i = 0;i < n;i++)
}for (int i = tail;i >= 0;i--)
//用於找到頭元素
} printf("%d %d %d\n", max, a[head], a[tail]);
} return 0;
}
HDU 1231 最大連續子串行(最大連續子段和)
description 求最大連續子段和,並輸出此字段的起始位置和終止位置的值 input 多組用例,每組用例第一行為序列長度n,第二行n個整數表示該序列,以n 0結束輸入 output 對每個測試用例,輸出最大連續子段和及其起始位置和終止位置的值,如果序列全為負值則令最大連續子段和為0,而起止位置...
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。在今年的資料結構考卷中,要求編寫程式得到最大和,現在增加乙個要求,即還需要輸出該 子串行的第...