题解:P11364 [NOIP2024] 树上查询
首先按照线段树结构分治。那么只要算跨过中点的答案。
注意到跨过中点的区间 LCA 一定是
注意到如果答案不在这里的话一定顶到了左右端点,使用自己喜欢的方法更新一下即可。例如找到 dfs 序最小和最大值取 LCA。
对于完全包含当前这个区间的情况,只要把小区间长度为 i 的时候的答案记录下来即可,可以用这个区间的
按照线段树的分析可以得到时空复杂度
代码暂时没有。
首先按照线段树结构分治。那么只要算跨过中点的答案。
注意到跨过中点的区间 LCA 一定是
注意到如果答案不在这里的话一定顶到了左右端点,使用自己喜欢的方法更新一下即可。例如找到 dfs 序最小和最大值取 LCA。
对于完全包含当前这个区间的情况,只要把小区间长度为 i 的时候的答案记录下来即可,可以用这个区间的
按照线段树的分析可以得到时空复杂度
代码暂时没有。