摘要:        
[P11364 [NOIP2024] 树上查询] 给出 $n$ 个结点树,定义 $\text{LCA}^*(l,r)$ 为 $[l,r]$ 结点最近公共祖先,有 $q$ 次询问,每次给定 $l,r$,求满足 $[l',r'] \subseteq [l,r]$ 且长度 $\geq k$ 的最大 $\text{dep}_{\text{LCA}^*(l',r')}$($n,q \leq 5\times10^5$)。思路:先得 $O(qn^2)$ 暴力解,将 $d_i = \text{dep}_{\text{lca}_{i,i+1}}$ 建笛卡尔树,预处理 $d_i$ 左右极大区间 $[x_i,y_i]$,根据 $[l,r]$ 与 $[x_i,y_i]$ 交长条件化简合法状态,分情况扫描询问,用数据结构维护查询,复杂度 $O(n \log n)$。    阅读全文
posted @ 2025-02-06 21:06
wing_heart
阅读(83)
评论(0)
推荐(0)
        

浙公网安备 33010602011771号