蒟蒻有一个想法
查看原帖
蒟蒻有一个想法
236416
_stOrz_楼主2022/3/14 23:44

首先先跑一遍树链剖分,求出每个点的 dfn

开桶,记录点权为 kk 的 dfn

给每个桶排序

然后把这题转换成 a,ba,b 路径上是否有点权为 kk 的点

然后运用树链剖分求 LCA 的思想,因为每个点到其 top 的 dfn 为一段连续区间 [L,R][L,R],所以在 kk 桶中二分第一个比 LL 大于等于的点,如果那个点比 RR 小,说明有

时间复杂度 O(nlog2n)O\left(n\log^2n\right)

2022/3/14 23:44
加载中...