专栏文章

树上查询

个人记录参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@min031gw
此快照首次捕获于
2025/12/01 18:22
3 个月前
此快照最后确认于
2025/12/01 18:22
3 个月前
查看原文
ai=depLCA(i,i+1)a_i=\mathrm{dep}_{\mathrm{LCA}^{*}(i,i+1)}。对于 l<rl<r,可以发现
depLCA(l,r)=mini=lr1ai\mathrm{dep}_{\mathrm{LCA}^{*}(l,r)}=\min_{i=l}^{r-1}a_i
我们令 rr1,kk1r \gets r-1,k \gets k-1
于是问题变为求与询问区间 [l,r][l,r] 中长度至少为 kk 的区间中 min\minmax\max
从大到小加入 aia_i,维护 O(n)\mathcal{O}(n) 个极长连续段 (xj,yj,vj)(x_j,y_j,v_j) 表示 xjiyjx_j \le i \le y_j 均有 aivja_i \ge v_j。每次询问考虑 [l,r][l,r][xj,yj][x_j,y_j] 的交集大小 k\ge k 即可。
对于“交集大小至少为 kk”,我们可以写出两个不等式,满足其一即可:
yjrxjrk+1l+k1yjryjxj+1ky_j\ge r\land x_j\le r-k+1 \\ l+k-1\le y_j\le r\land y_j-x_j+1\ge k
两个都可以在 O(nlogn)\mathcal{O}(n \log n) 的时间复杂度内求解。

评论

0 条评论,欢迎与作者交流。

正在加载评论...