*玄关*关于平衡数LR的问题
查看原帖
*玄关*关于平衡数LR的问题
1399216
_Gloaming_楼主2024/8/20 15:19
int main(){
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++){
		adde(i);//建立新的边 
		root=merge(root,i);//合并更新根节点 
	}
	for(int i=1,x,y;i<=m;i++){
		scanf("%d%d",&x,&y);
		//分成分别以l,p,r为根节点的三棵树 
		split(root,y,l,r);
		split(l,x-1,l,p);
		tree[p].lazy^=1;//更新懒标记,每次的p值会发生改变,只有相同的区间p值才会不同,不用担心 (:^_^:) 
		root=merge(merge(l,p),r);//合并 
	}
	print(root);//输出 
	return 0;
} 

上截题解

for(int i=1,x,y;i<=m;i++){
		scanf("%d%d",&x,&y);
		//分成分别以l,p,r为根节点的三棵树 
		split(root,y,l,r);
		split(l,x-1,l,p);
		tree[p].lazy^=1;

这个l,r不是没有赋值吗 怎么直接操作呢???

2024/8/20 15:19
加载中...