如果您RE on #2 #3 #6
查看原帖
如果您RE on #2 #3 #6
451066
letitdown楼主2021/7/30 06:38

这里是蒟弱的问题: dfs重构父亲时,不能按照点的深度赋父亲,而要保证2i>n2^i>n

F(i,1,20)if((1<<i)<=deep[x])fa[x][i]=fa[fa[x][i-1]][i-1];

上面是错误的, 下面是正确的。

F(i,1,20)fa[x][i]=fa[fa[x][i-1]][i-1];

原因是deep数组会因为连边而改变。

2021/7/30 06:38
加载中...