笛卡尔树模版

复杂度 O ( n ) O(n) O(n)
原理在这
对于节点(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

你可能感兴趣的:(模版)