#include
#include
using
namespace
std;
const
int maxn = 1e4 + 5;
int num[maxn];
int dp[maxn];
int k;
struct start_end
oped[maxn]; //建立結構體 儲存對應位置的起點和終點
int main()
else
oped[i].op = start;
oped[i].ed = end;
}int max_i = 0;
for(int i = 0; i < k; i ++)
if(dp[max_i] < 0)
printf("0 %d %d\n", num[0], num[k - 1]);
else
printf("%d %d %d\n", dp[max_i], oped[max_i].op, oped[max_i].ed);
}return
0;}
題意:
給定k個整數的序列,其任意連續子串行可表示為,其中 1 <= i <= j <= k。最大連續子串行是所有連續子串行中元素和最大的乙個,
例如給定序列,其最大連續子串行為,最大和
為20。
在今年的資料結構考卷中,要求編寫程式得到最大和,現在增加乙個要求,即還需要輸出該
子串行的第乙個和最後乙個元素。
題解:
dp。
num: -2 11 -4 13 -5 -2
dp: -2 11 7 20 15 13
先把dp[0] = num[0] 投入,之後從 i = 1開始,判斷dp[i - 1]是否小於0—-小於0不加 大於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。在今年的資料結構考卷中,要求編寫程式得到最大和,現在增加乙個要求,即還需要輸出該 子串行的第...
HDU1231 最大連續子串行
problem description 給定k個整數的序列,其任意連續子串行可表示為,其中 1 i j k。最大連續子串行是所有連續子串行中元素和最大的乙個,例如給定序列,其最大連續子串行為,最大和 為20。在今年的資料結構考卷中,要求編寫程式得到最大和,現在增加乙個要求,即還需要輸出該 子串行的第...