关于Treap的一个小问题
查看原帖
关于Treap的一个小问题
241838
microchip楼主2023/12/2 16:06

可以帮忙看一下我这个旋转函数有什么问题吗QwQ

void zig(int no)
{
	int tmp=T[no].ls,sz=T[no].siz;
	T[no].siz=T[no].cnt+T[T[no].rs].siz+T[T[T[no].ls].rs].siz;
	T[T[no].ls].siz=sz;
	T[no].ls=T[T[no].ls].ls;
	T[tmp].rs=no;
	swap(T[no],T[T[no].ls]);
}

void zag(int no)
{
	int tmp=T[no].rs,sz=T[no].siz;
	T[no].siz=T[no].cnt+T[T[no].ls].siz+T[T[T[no].rs].ls].siz;
	T[T[no].rs].siz=sz;
	T[no].rs=T[T[no].rs].rs;
	T[tmp].ls=no;
	swap(T[no],T[T[no].rs]);
}
2023/12/2 16:06
加载中...