求助删除模块,大佬们来帮帮忙啊!
查看原帖
求助删除模块,大佬们来帮帮忙啊!
43763
Mistysun楼主2021/7/27 22:10
void erase(int &x,int val)
{
	if(!x)return;
	treap[x].size--;
	int d=treap[x].cmp(val);
	if(d==-1)
	{
		if(treap[x].num>1)
		{
			treap[x].num--;
			return;
		}
		int lch=treap[x].ch[0];
		int rch=treap[x].ch[1];
		if(!lch||!rch)
		{
			x=lch+rch;
		}
		else
		{
			int d2=treap[lch].pri>treap[rch].pri;
			rotate(x,d2);
			erase(x,val);//??
		}
	}
	erase(treap[x].ch[d],val);
}
2021/7/27 22:10
加载中...