DP題 最長上公升子串行

2022-07-18 02:45:13 字數 905 閱讀 5193

總時間限制:2000ms 記憶體限制:65536kb

乙個數的序列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)等等。這些子串行中最長的長度是4,比如子串行(1, 3, 5, 8).

你的任務,就是對於給定的序列,求出最長上公升子串行的長度。

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

最長上公升子串行的長度。

7

1 7 3 5 9 4 8

4
翻譯自 northeastern europe 2002, far-eastern subregion 的比賽試題

一道簡單的dp題

#includeint a[2000],i,j,b[2000],max=-1

,n;int

main( )

for(i=2;i<=n;i++)

for(j=1;j)

if(a[i]>a[j]&&b[j]+1>b[i])b[i]=b[j]+1

;

for(i=1;i<=n;i++)

if(b[i]>max)max=b[i];

printf("%d

",max);

}

Dp 最長上公升子串 最長上公升子串行

乙個數的子串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,5,9 等等。這些子串中最長...

最長上公升子串行 dp入門題

給定乙個長度為n的數列,求數值嚴格單調遞增的子串行的長度最長是多少。輸入格式 第一行包含整數n。第二行包含n個整數,表示完整序列。輸出格式 輸出乙個整數,表示最大長度。資料範圍 1 n 1000,109 數列中的數 109 輸入樣例 73 1 2 1 8 5 6 輸出樣例 4題目分析 最長上身子序列...

最長上公升子串行(DP)

time limit 3000ms memory limit 65536k 有疑問?點這裡 乙個數的序列bi,當b 1 b 2 b s的時候,我們稱這個序列是上公升的。對於給定的乙個序列 a 1,a 2,a n 我們可以得到一些上公升的子串行 a i1,a i2,a ik 這裡1 i 1 i 2 i...