動態規劃 最大子段和

2021-10-13 19:44:19 字數 730 閱讀 8248

動態規劃 最大子段和

lyk喜歡幹一些有挑戰的事,比如說求區間最大子段和。它知道這個題目有o(n)的做法。於是它想加強一下。

也就是說,lyk一開始有n個數,第i個數字是ai,它找來了乙個新的數字p,並想將這n個數字中恰好乙個數字替換成p。要求替換後的最大子段和盡可能大。

lyk知道這個題目仍然很簡單,於是就扔給大家來送分啦~

注:最大子段和是指在n個數中選擇一段區間[l,r](l<=r)使得這段區間對應的數字之和最大。

輸入格式(songfen.in)

第一行兩個數n,p。

接下來一行n個數ai。

輸出格式(songfen.out)

乙個數表示答案。

輸入樣例

5 3-1 1 -10 1 -1

輸出樣例

5樣例解釋

將第三個數變成3後最大子段和為[2,4]。

資料範圍

對於30%的資料n<=100。

對於另外30%的資料ai,p>=0。

對於100%的資料n<=1000,-1000<=ai,p<=1000。

# include using namespace std;

int main()

int t,ans=-1e18;

for(int i=0;i} printf("%d",ans);

return 0;

}

動態規劃 最大子段和

給定乙個陣列a a0,a1,a2,an 求陣列中 連續子段之和 的最大值。1 最簡單的演算法 窮舉法 計算所有的連續子段之和,得出最大值 窮舉法 計算所有的子串行和 o n 3 public static int maxsum1 int data max tmp max tmp max return...

動態規劃 最大子段和

題目描述 給出一段序列,選出其中連續且非空的一段使得這段和最大。輸入輸出格式 輸入格式 第一行是乙個正整數nn,表示了序列的長度。第二行包含n個絕對值不大於10000的整數a i,描述了這段序列。輸出格式 乙個整數,為最大的子段和是多少。子段的最小長度為1。輸入輸出樣例 輸入樣例 1 72 4 3 ...

動態規劃 最大子段和

最大子段和是乙個十分經典的問題。給定由n個整數 包含負整數 組成的序列a1,a2,an,求該序列子段和的最大值。當所有整數均為負值時定義其最大子段和為0。例如,當 a1,a2,a7,a8 1,3,7,8,4,12,10,6 時,最大子段和為 23 bj是1到j位置的最大子段和 a1a2 ai aj ...