题意
给你n个平面举行的高和长,问你需要多少刷多少个矩形可以刷完所有的。
思路
只需要初略一想,就知道长没用,只用枚举高,一个个按步骤走。
建一个站:
1.如果加入的数比栈顶大,那么就将这个数放到栈顶前面。同时答案加一
2.如果加入的数比栈顶小,那么在栈里面找一个最小的比他大或相同的数作比较,如果相同答案就不变不然就放到那个数的前面,同时答案加一
程序
const
maxn=10000000;
var
a:array [0..maxn] of longint;
i,j,x,y,n,ans:longint;
begin
assign(input,(‘data.in’)); reset(input);
readln(n);
j:=500000;
for i:=1 to n do
begin
readln(x,y);
if y>a[j] then
begin
dec(j);
a[j]:=y;
inc(ans);
end;
while y