view code
//hdu 1231 dp(最大連續子串行)
//題目給出一串數字,要求輸出 最大連續子串行的 和
//與序列第乙個數和最後乙個數
//若所有數都是負的則 和為0,並輸出第乙個數和最後乙個數
//具體看**
#include
#define n 50005
intn_num;
intnum[n];
intmain()
//若 i 之前的序列 小於 等於0 則加上 i 肯定更小
else
//因此 i 自成乙個序列
st = ed = sum =num[i];
//若之前的序列為負 第i個為0,則照樣更新
//若得到的序列中 都為 負 則怎麼更新 ans 都是負的
if(ans < sum) //
若 到 i 的序列大於 記錄的最大值,
}if(ans < 0) //
若 ans 為負的,則所有序列中肯定沒有 0的
printf("
0 %d %d\n
", num[0], num[n_num-1
]);
else
printf(
"%d %d %d\n
", ans, ans_st, ans_ed);
}return0;
}
HDU 1231 最大連續子串行 dp
problem description 給定k個整數的序列,其任意連續子串行可表示為,其中 1 i j k。最大連續子串行是所有連續子串行中元素和最大的乙個,例如給定序列,其最大連續子串行為,最大和 為20。在今年的資料結構考卷中,要求編寫程式得到最大和,現在增加乙個要求,即還需要輸出該 子串行的第...
HDU 1231 最大連續子串行(DP)
給定k個整數的序列,其任意連續子串行可表示為,其中 1 i j k。最大連續子串行是所有連續子串行中元素和最大的乙個,例如給定序列,其最大連續子串行為,最大和為 20。要求得到最大和,並輸出該 子串行的第乙個和最後乙個元素。思路是dp,用f i 表示以第 i 個數字為結尾的子串行的最大和,以m i ...
HDU1231 最大連續子串行(dp
description 給定k個整數的序列,其任意連續子串行可表示為,其中 1 i j k。最大連續子串行是所有連續子串行中元素和最大的乙個,例如給定序列,其最大連續子串行為,最大和 為20。在今年的資料結構考卷中,要求編寫程式得到最大和,現在增加乙個要求,即還需要輸出該 子串行的第乙個和最後乙個元...