关于树剖的小问题

P3384 【模板】重链剖分/树链剖分

说错了,其他全 RE
by Daidly @ 2021-11-13 13:42:07


同问,前几天学的树剖,跟lz的疑惑一样
by TKater_yzt @ 2021-11-13 13:43:47


@[Daidly](/user/271736) 因为你每次跳的是重链的链顶
by LawrenceSivan @ 2021-11-13 13:44:01


@[Daidly](/user/271736) 我之前也因为这个挂了,不过是 MLE 你这样(指给出的第一种写法)确实不对 > 既然 $x,y$ 不处于同一条链,我们理应将链顶深度低的点爬到链顶的父亲。因为可能存在 $x$ 的深度小于 $y$,但是 $x$ 的链顶深度大于 $y$ 的链顶
by 无咕_ @ 2021-11-13 13:44:40


也就是相当于把一个重链上的点和重链看成一个整体,要跳到重链外(向上跳)可以直接区间操作代替跳到顶部,所以用顶部比较。
by Daidly @ 2021-11-13 13:54:35


我感觉理解的大概是这样的
by Daidly @ 2021-11-13 13:54:57


@[Daidly](/user/271736) 首先你**一定不能**跳链顶深度更小的点,否则你可能会越过两个点的 lca。 然后,如果你只比较点的深度,有可能跳到链顶深度更小的点。
by sfmmdm @ 2021-11-13 16:32:44


![](https://i.loli.net/2021/11/13/BRaYSA25iQ6IlKk.png) 如果跳 y,就会跳到根的父节点。
by sfmmdm @ 2021-11-13 16:42:03


@[sfmmdm](/user/82124) 谢谢!
by Daidly @ 2021-11-14 13:43:51


|