求最長不下降序列

2021-07-27 15:09:22 字數 1106 閱讀 6145

求最長不下降序列

time limit:1000ms  memory limit:65536k

total submit:402 accepted:174

description

設有n(n<=1000)個不相同的整數(小於32767)組成的數列,記為:

a1,a2,...,an,其中任意兩個數不相同。

例如:3,18,7,14,10,12,23,41,16,24。

若有 且有 。則稱為長度為e的不下降序列。如上例中,3,18,23,24為乙個長度為4的不下降序列,同時也有3,7,10,12,16,24長度為6的不下降序列。程式要求,當原始數列給出後,求出最長的不下降數列的長度。

input

output

sample input

10

3 18 7 14 10 12 23 41 16 24

sample output

6

逆推方法如下:

var  map:array[1..1000] of longint;

dis:array[1..1000] of longint;

i,n,j,max:longint;

begin

readln(n);

for i:=1 to n do

read(map[i]);

dis[n]:=1;

for i:=n-1 downto 1 do

begin

max:=1;

for j:=i+1 to n do

begin

if (map[i]max) then

max:=dis[j]+1;

dis[i]:=max;

end;

end;

max:=0;

for i:=1 to n do

if dis[i]>max then max:=dis[i];

write(max);

end.

求最長不下降序列

求最長不下降序列 time limit 1000ms memory limit 65536k total submit 398 accepted 171 description 設有n n 1000 個不相同的整數 小於32767 組成的數列,記為 a1,a2,an,其中任意兩個數不相同。例如 3,...

求最長不下降序列

題目描述 設有由n個不相同的整數組成的數列,記作 b 1 b 2 b 3 b n 且b i b j i j 若存在i1 根據動態規劃的原理,由後往前進行搜尋 當然從前往後也不是不行 1 對b n 來說,由於它是最後乙個數,所以當從b n 開始查詢時,只存在長度為1的不下降序列。2 若從b n 1 開...

求最長不下降序列(逆推)

description 設有n n 1000 個不相同的整數 小於32767 組成的數列,記為 a1,a2,an,其中任意兩個數不相同。例如 3,18,7,14,10,12,23,41,16,24。若有 且有 則稱為長度為e的不下降序列。如上例中,3,18,23,24為乙個長度為4的不下降序列,同時...