关于树上 vector 启发式合并
  • 板块学术版
  • 楼主FxorG
  • 当前回复3
  • 已保存回复3
  • 发布时间2021/10/6 16:29
  • 上次更新2023/11/4 04:34:05
查看原帖
关于树上 vector 启发式合并
125901
FxorG楼主2021/10/6 16:29

前次问题

这份代码是树上维护节点子树内的点,这样子的在链的情况下空间复杂度是多少?/kk

vector<int>*son[N];
for(int i=1;i<=n;i++) son[i]=new vector<int>;
void dfs(int x,int ff) {
	(*son[x]).push_back(x);
	for(int i=head[x];i;i=e[i].nex) {
		int y=e[i].to; if(y==ff) continue;
		dfs(y,x);
		if((*son[y]).size()>(*son[x]).size()) swap(son[x],son[y]);
		for(int j=0;j<(*son[y]).size();j++) (*son[x]).push_back((*son[y])[j]);
	}
}
2021/10/6 16:29
加载中...