新手乙隻,如有錯誤,歡迎大神指出!!!
這是一道經典的dp題目,只不過需要輸出子串行開始和結尾的元素。
我的想法就是用乙個陣列儲存每一次找到的子串行的首尾座標並記錄。
可能解釋的不清楚,所以直接上**吧……
ac**:
#include #include #include #include using namespace std;
__int64 a[10003],s[10003],sum[10003];
int main()
else
if(sum[i]>sum[cnt])cnt=i;//將最大值在sum的座標傳遞下去
}if(sum[cnt]<0)
printf("0 %i64d %i64d\n",a[0],a[k-1]);
else
printf("%i64d %i64d %i64d\n",sum[cnt],a[s[cnt]],a[cnt]);
}return 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。在今年的資料結構考卷中,要求編寫程式得到最大和,現在增加乙個要求,即還需要輸出該 子串行的第...