動態規劃練習13 最大上公升子串行和

2021-07-30 19:46:09 字數 885 閱讀 1893

題目簡要:

描述乙個數的序列bi,當b1 < b2 < ... < bs的時候,我們稱這個序列是上公升的。對於給定的乙個序列(a1, a2, ...,an),我們可以得到一些上公升的子串行(ai1, ai2, ..., aik),這裡1 <= i1 < i2 < ... < ik <= n。比如,對於序列(1, 7, 3, 5, 9, 4, 8),有它的一些上公升子串行,如(1, 7), (3, 4, 8)等等。這些子串行中序列和最大為18,為子串行(1, 3, 5, 9)的和.

你的任務,就是對於給定的序列,求出最大上公升子串行和。注意,最長的上公升子串行的和不一定是最大的,比如序列(100, 1, 2, 3)的最大上公升子串行和為100,而最長上公升子串行為(1, 2, 3)

輸入輸入的第一行是序列的長度n (1 <= n <= 1000)。第二行給出序列中的n個整數,這些整數的取值範圍都在0到10000(可能重複)。

輸出最大上公升子串行和

樣例輸入

7

1 7 3 5 9 4 8

樣例輸出

18

解題思路:

這道題和求最大子串行一樣,換下變數的意義就好啦。

附**:

#include

using

namespace std;

intmain

()int max[n],tmp;

max[

0]=b[0];

for(

int i=

1;i}max[i]=tmp+b[i];

}int maxnum=0;

for(

int i=

0;icout<}return0;

} 解題感受:

也沒啥感受啦,和之前的題是一樣的。

動態規劃練習一 13 最大上公升子串行和

描述 乙個數的序列bi,當b1 b2 bs的時候,我們稱這個序列是上公升的。對於給定的乙個序列 a1,a2,an 我們可以得到一些上公升的子串行 ai1,ai2,aik 這裡1 i1 i2 ik n。比如,對於序列 1,7,3,5,9,4,8 有它的一些上公升子串行,如 1,7 3,4,8 等等。這...

動態規劃練習題 13(最大上公升子串行和)

乙個數的序列bi,當b1 b2 bs的時候,我們稱這個序列是上公升的。對於給定的乙個序列 a1,a2,an 我們可以得到一些上公升的子串行 ai1,ai2,aik 這裡1 i1 i2 ik n。比如,對於序列 1,7,3,5,9,4,8 有它的一些上公升子串行,如 1,7 3,4,8 等等。這些子串...

動態規劃 最大上公升子串行

乙個數的序列bi,當b1 b2 bs的時候,我們稱這個序列是上公升的。對於給定的乙個序列 a1,a2,an 我們可以得到一些上公升的子串行 ai1,ai2,aik 這裡1 i1 i2 ik n。比如,對於序列 1,7,3,5,9,4,8 有它的一些上公升子串行,如 1,7 3,4,8 等等。這些子串...