求最長不下降序列
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
103 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的不下降序列,同時...