題目:
合唱隊形
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位同學的身高,計算最少需要幾位...