求问建虚树
查看原帖
求问建虚树
573341
MiniLong楼主2023/5/14 17:53

代码照着题解写的。

AC 代码是这样的:

void insert(int x){
	if(top == 1){
		st[++top] = x;
		return;
	}
	int z = lca(x, st[top]);
	if(z == st[top]){
		return;
	}
	while(top > 1 && id[st[top - 1]] >= id[z]) add(st[top - 1], st[top]), top--;
	if(st[top] != z){
		add(z, st[top]);
		st[top] = z;
	}
	st[++top] = x;
}

把

if(z == st[top]){
	return;
}

改成

if(z == st[top]){
	st[++top] = x;
	return;
}

为啥就 T 了,按道理应该没问题的吧?

2023/5/14 17:53
加载中...