社区讨论

神蛙题解可能有锅(如果我错了轻喷)

P3806【模板】点分治参与者 5已保存回复 8

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
8 条
当前快照
1 份
快照标识符
@locv8kn0
此快照首次捕获于
2023/10/30 20:18
2 年前
此快照最后确认于
2023/11/05 06:50
2 年前
查看原帖
第二篇题解,我在写点分树模板的时候发现了这种写法有锅。
比如对于下面的数据(点分树样例):
8 1
1 2 1
1 3 1
2 4 1
2 5 1
3 6 1
3 7 1
3 8 1
1
这样神蛙会把 11 划分成第二层的根(第一层根是33
各位可以自行试一试,眼见为实。
而且我发现了他代码中具体的错误:
CPP

void solve(int u){
	vis[u]=true;
	calc(u);
	for(re int i=head[u];i;i=edge[i].nxt){
		int v=edge[i].to;
		if(vis[v])continue;
		root=0;
		get_root(v,0,siz[v]);
		solve(root);
	}
}
因为siz[v]不是真的子树大小,所以锅了
希望能有人看看是不是真的有问题,毕竟神蛙的题解很多人在看,本人是蒟蒻,如果我错了轻喷

回复

8 条回复,欢迎继续交流。

正在加载回复...