hdu1231最大子串行

2021-07-09 03:21:32 字數 654 閱讀 1475

dp的題目大部分只要找出狀態方程就很好做,本題是

if (current<0)

else 

current+=a[i];

if (current>res)

current是當前的要判斷的值,當他是負數時,總體更新頭尾節點,重新整理最大值,從頭dp就能解決有多個最大子串行的問題,且判斷是不能是大於等於。下面是源**

#include

#include

#include

#include

using namespace std;

#define max 10001

int max(int a,int b)

int first,last,n,res;

int a[max];

int main()

else 

res=a[0];

first=a[0];

last=a[0];

int current=0;

for (i=0;i

else 

current+=a[i];

if (current>res)

}if (res<0)  

else

}return 0;

HDU 1231 最大子串行

problem description 給定k個整數的序列,其任意連續子串行可表示為,其中 1 i j k。最大連續子串行是所有連續子串行中元素和最大的乙個,例如給定序列,其最大連續子串行為,最大和 為20。在今年的資料結構考卷中,要求編寫程式得到最大和,現在增加乙個要求,即還需要輸出該 子串行的第...

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