複雜度
原理在這
對於節點(k(序號),w(權重)):k 符合二叉搜索樹性質,w符合堆性質
例題在這
int n,ind=0;
int sta[maxn],lson[maxn],rson[maxn],w[maxn];
void dkertree(){
for(int i=1;i<=n;++i){
int tmp=ind;
while(ind&&w[sta[tmp]]>w[i]){
--tmp;
}
if(tmp) rson[sta[tmp]]=i;
if(tmp<ind) lson[i]=sta[tmp+1];
sta[++tmp]=i;
ind=tmp;
}
}