会有人帮我调这个P4211的代码吗.........

P4211 [LNOI2014] LCA

好的,您等等,这题我最近正好做过
by Evan_S @ 2021-07-12 21:33:58


```cpp void dfs1(int u){ siz[u]=1; son[u]=Maxn-1; for(int i=head[u];i;i=nxt[i]){ int v=to[i]; if(v==father[u])continue; dep[v]=dep[u]+1; dfs1(v); siz[u]+=siz[v]+1;//这里是不是不用+1 if(siz[v]>siz[son[u]]){ son[u]=v; } } return ; } ```
by Evan_S @ 2021-07-12 21:36:33


@[Wens](/user/213196) 我刚 a 了,但看到的时候同学已经帮您改好了
by pldzy @ 2021-07-12 21:41:02


那就没问题了
by Evan_S @ 2021-07-12 21:46:53


@[宋卓昕](/user/194465) 那个地方加不加1并不影响,这里只要求出siz的大小关系就行了,改了还是有问题,但无论如何,依然要谢谢你
by Wens @ 2021-07-13 07:29:43


那应该是你main函数求答案的时候,还有拆分询问的时候有问题
by Evan_S @ 2021-07-13 07:33:39


这里建议您去看看题解(非抄)
by Evan_S @ 2021-07-13 07:34:32


@[Wens](/user/213196) 你在拆分询问的时候需要把他们存在同一个数组里
by Evan_S @ 2021-07-13 07:35:18


@[Wens](/user/213196) 还有最后计算每个拆分出来的询问的时候,应该是枚举每个询问,然后因为排好序了,所以我们可以接着上面的一个询问。
by Evan_S @ 2021-07-13 07:37:27


不过好像您这么写没有问题
by Evan_S @ 2021-07-13 07:40:30


| 下一页