左偏树的特点及其应用 下载本文

内容发布更新时间 : 2024/5/10 4:31:27星期一 下面是文章的全部内容请认真阅读。

IOI2005国家集训队论文 黄源河

BeGiN

assign(input,'seq.in'); reset(input);

assign(output,'seq.out'); rewrite(output); readln(n);

fillchar(nd,sizeof(nd),0); cl:=0; q[0]:=0;

for i:=1 to n do begin

readln(nd[i].key); dec(nd[i].key,i); inc(cl); stk[cl]:=i; q[cl]:=i;

while (cl>1)and(nd[stk[cl]].key

stk[cl]:=merge(stk[cl],stk[cl+1]);

if odd(q[cl+1]-q[cl]) and odd(q[cl]-q[cl-1]) then stk[cl]:=merge(nd[stk[cl]].left,nd[stk[cl]].right); q[cl]:=q[cl+1]; end; end; print;

close(output); EnD.

第 21 页 共 21 页