RMQ
Nekroz_
这个作者很懒,什么都没留下…
展开
-
【模板】范围最小值RMQ
范围最小值问题(RMQ)。给定一个n个元素的数组A1, A2, ,,, , An,设计一个数据结构,支持Query(L, R):计算[L, R]中A数组元素的最小值。采用Tarjan的Sparse-Table算法,预处理时间O(nlogn), 查询O(1),常数很小。令d(i, j) 表示从i开始的,长度为2^j的一段元素中的最小值,则可以递推计算d(i, j) = min{d(i, j - 1)...原创 2018-03-14 11:58:49 · 277 阅读 · 0 评论 -
【模板】ST表求解RMQ问题
RMQRMQRMQ问题RMQ(Range Minimum Query)RMQ(Range Minimum Query)RMQ(Range \ Minimum \ Query),范围最小值问题。具体表现为一下一类问题:给出一个 nnn 个元素的数组 A1,A2,…,AnA1,A2,…,AnA_1, A_2, \dots , A_n ,求解 min(l,...原创 2018-06-24 21:28:56 · 2209 阅读 · 0 评论 -
【模板】LCA(欧拉序+RMQ)
平常在信息学竞赛中求LCA一般有三种办法:用倍增法求解,预处理复杂度是 O(nlogn)O(nlogn)O(n\log n) ,每次询问的复杂度是 O(logn)O(logn)O(\log n), 属于在线解法。利用欧拉序转化为RMQ问题,用 ST表 求解RMQ问题,预处理复杂度 O(n+nlogn)O(n+nlogn)O(n + n \log n) ,每次询问的复杂度为 O(1)O...原创 2018-08-04 16:23:14 · 3085 阅读 · 2 评论 -
浅析LCA
1. 1. 1. \ 定义LCA(Least Common Ancestors),即最近公共祖先,指对于有根树 TTT 的两个结点 uuu 、vvv ,最近公共祖先 LCA(T,u,v)LCA(T,u,v)LCA(T, u, v) 表示一个结点 xxx, 满足 xxx 是 uuu、vvv 的祖先且 xxx 的深度尽可能大。 下面给出一个自己画的图,用来解释LCA及其算...原创 2018-08-06 16:30:29 · 14480 阅读 · 7 评论