警示后人
  • 板块CF702F T-Shirts
  • 楼主洛苡hh
  • 当前回复1
  • 已保存回复1
  • 发布时间2025/1/10 20:51
  • 上次更新2025/1/11 05:12:41
查看原帖
警示后人
552454
洛苡hh楼主2025/1/10 20:51

关于merge函数导致的RE

void merge(int &k,int x,int y){
	if(x*y==0){
		k=x+y;
		return;
	}
	if(t[x].key>t[y].key){
		k=x;
		pushdown(k);
		merge(t[k].rs,t[x].rs,y);		
	}else{
		k=y;
		pushdown(k);
		merge(t[k].ls,x,t[y].ls);
	}
}
void merge(int &k,int x,int y){
	if(!x || !y){
		k=x+y;
		return;
	}
	if(t[x].key>t[y].key){
		k=x;
		pushdown(k);
		merge(t[k].rs,t[x].rs,y);		
	}else{
		k=y;
		pushdown(k);
		merge(t[k].ls,x,t[y].ls);
	}
}

上面那种写法乘法可能会炸int 如果一只RE调不出来 可以检查一下

2025/1/10 20:51
加载中...