Noip2004T3 合唱隊形

2021-05-28 00:56:47 字數 874 閱讀 1271

題目:

合唱隊形

noip2004t3

題目大意:

n個數,剔除最少的人使之滿足左開始越來越高知道乙個數又開始越來越低。

資料範圍:

2 <= n <= 100

樣例:8

186 186 150 200 160 130 197 220

4

做題思路:

當初做這題時wrong的好瘋狂,竟然忘了輸出的是n-ans,樣例輸出ans-1也對坑  啊。。。。

該題就是正著倒著各一遍最長上公升,然後列舉最高點然後n-ans為答案

知識點:

動態規劃

varf1,f2,a:array[0..110]of longint;

i,j,n,ans:longint;

begin

readln(n);

fori:=1 to n do

begin

read(a[i]);

f1[i]:=1;

f2[i]:=1;

end;

fori:=2 to n do

forj:=1 to i-1 do

if(a[i]>a[j])and(f1[j]+1>f1[i]) then f1[i]:=f1[j]+1;

fori:=n-1 downto 1 do

forj:=n downto i+1 do

if(a[i]>a[j])and(f2[j]+1>f2[i]) then f2[i]:=f2[j]+1;

ans:=0;

fori:=1 to n do

iff1[i]+f2[i]>ans then ans:=f1[i]+f2[i];

writeln(n-ans+1);{

NOIP2004 合唱隊形

noip2004 合唱隊形 2017年7月31日 dp 最長不上公升子串行,最長不下降子串行 描述 description n位同學站成一排,老師要請其中的 n k 位同學出列,使得剩下的k位同學排成合唱隊形。合唱隊形是指這樣的一種隊形 設k位同學從左到右依次編號為1,2 k,他們的身高分別為t1,...

NOIP2004 合唱隊形題解

n位同學站成一排,老師要請其中的 n k 位同學出列,使得剩下的k位同學排成合唱隊形。合唱隊形是指這樣的一種隊形 設k位同學從左到右依次編號為1,2,k,他們的身高分別為t1,t2,tk,則他們的身高滿足t1 t2 ti ti ti 1 tk 1 i k 你的任務是,已知所有n位同學的身高,計算最少...

noip 2004 合唱隊形(dp)

題目描述 n位同學站成一排,老師要請其中的 n k 位同學出列,使得剩下的k位同學排成合唱隊形。合唱隊形是指這樣的一種隊形 設k位同學從左到右依次編號為1,2,k,他們的身高分別為t1,t2,tk,則他們的身高滿足t1 ti l tk 1 i k 你的任務是 已知所有n位同學的身高,計算最少需要幾位...