讨论 / 最基本的单调队列超时 请问如何优化
liuminghao 2011-07-11 18:27:00
点我顶贴 收藏 删除
program num_285;

var f1,f2,a:array[1..30000]of longint;

i,j,n,m1,m2:longint;

begin

readln(n);

for i:=1 to n do

readln(a[i]);

for i:=1 to n do

begin

f1[i]:=1;

f2[i]:=1;

for j:=1 to i-1 do

begin

if (f1[i]<f1[j]+1)and(a[i]>=a[j])

then f1[i]:=f1[j]+1;

if (f2[i]<f2[j]+1)and(a[i]<=a[j])

then f2[i]:=f2[j]+1;

if f1[i]>m1

then m1:=f1[i];

if f2[i]>m2

then m2:=f2[i];

end;

end;

if m1>m2

then write(n-m1)

else write(n-m2);

end.

超时1个点,90,向大牛们求救如何优化

#1 神经病有所好转@2011-07-11 18:27:00
回复 删除
回复 楼主liuminghao 的帖子

倒过来行不。

for i:=n downto 1 do

for j:=i+1 to n do

查看更多回复
提交回复