萌新求助一个FHQ treap中的split的问题
  • 板块学术版
  • 楼主Xiongzx
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/3/13 12:43
  • 上次更新2023/10/23 21:41:27
查看原帖
萌新求助一个FHQ treap中的split的问题
956071
Xiongzx楼主2023/3/13 12:43

就是递归调用split的时候,split里面的x,p可以随便用吗,即如split(tr[p].r, v, tr[x].r, y)可以写成split(tr[p].r, v, tr[p].r, y);或split(tr[x].r, v, tr[x].r, y);我感觉可能有点影响,但还是过了模板题

void split(int p, int v, int &x, int &y){
	if(!p){ x = y = 0; return;}
	if(tr[p].val <= v){ x = p; split(tr[p].r, v, tr[x].r, y);}
	else{ y = p; split(tr[p].l, v, x, tr[y].l);}
	pushup(p);
} 
2023/3/13 12:43
加载中...