tle提示
查看原帖
tle提示
198964
Msents楼主2023/4/4 00:21
int Unite(const int arr,int u,int v){
	int a=Find(arr,u),b=Find(arr,v);
	if(tree[a].ver==tree[b].ver)return arr;
	if(tree[a].deep>tree[b].deep)swap(a,b);
	int pt=PerModify(arr,tree[a].ver,tree[b].ver);
	if(tree[a].deep==tree[b].deep){
		return Add(pt,tree[b].ver);
	}//tree[Query(pt,tree[b].ver)].deep++;
	return pt;
}

这里当树高相等时还要再新建一个版本

不能像注释里直接修改

因为这里的点不是新造出来的部分,直接修改会连着把其他版本的节点修改掉

之前潜意识里新开的版本随便改,以后注意了

申必错误熬了我三天夜才找出来

2023/4/4 00:21
加载中...