最大m子段和

2021-05-28 07:36:29 字數 407 閱讀 3370

最大m子段和問題:給定由n個整數(可能為負)組成的序列a1、a2、a3...,an,以及乙個正整數m,要求確定序列的m個不想交子段,使這m個子段的總和最大!

設b(i,j)表示陣列a的前j項中i個子段和的最大值,

並且第i個子段包含a[j](1<=i<=m,i<=j<=n),則所求的最優值為maxb(m,j)(m<=j<=n)。在這種定義下b(i,j)的遞推公式:b(i,j)=max

c[i+n-m]=max;

}sum=0;

for(j=m;j<=n;j++)

if(sumsum=b[j];

return sum;

}int main()

return 0;

}對於這段**我按著思想看了一遍,沒有仔細推敲過,不知道會不會是個禍患,但是測試通過了!!!

最大m子段和

51nod 1052 題意描述 給定陣列a,長度為n。給定整數m,求不相交的m段字段和的最大值。當m 1 時 該問題就是最大子段和問題。設dp i 為以a i 結尾的最大子段和,當我們考慮dp i 的時候如果dp i 1 0那麼肯定把a i 接在後面最優,否則,取a i 最優。得到 dp i max...

最大M子段和

最近掉入了dp的深淵,還附加數學知識,爽哉。在此分析一道提交了17次的dp n個整數組成的序列a 1 a 2 a 3 a n 將這n個數劃分為互不相交的m個子段,並且這m個子段的和是最大的。如果m n個數中正數的個數,那麼輸出所有正數的和。例如 2 11 4 13 5 6 2,分為2段,11 4 1...

最大m子段和

最大m子段和 定義一串子段s1,s2,s3 sn 1,sn 求m段不交叉最大子段和 解 設dp i j 代表前j個數分成i段的最大和 包括a j 狀態轉移方程 dp i j max dp i j 1 a j dp i 1 t a j i 1 解釋兩種狀態的最優解 a j 恰好在下一次最優解末項之後,...