RMQLCA问题 湖南省长郡中学 郭华阳 全文总揽 问题的提出 问题的解决 问题的应用 I. 问题的提出 问题的提出 LCA:基于有根树最近公共祖先问题 LCA(T,u,v):在有根树T中,询问一个距离根最远的结点x,使得x同时为结点u、v的祖先 问题的提出 RMQ:区间最小值询问问题 RMQ(A,i,j):对于线性序列A中,询问区间[i,j]上的最小值 特别的,若线性序列A任意两相邻元素相差为±1,那么建立在A上的RMQ称为±1RMQ RMQLCA在信息学竞赛中 各种竞赛试题中,如上海2003年省选的登山、 2002年POI的商务旅行等,都是这类问题的应用及扩展 熟练的掌握及解决RMQLCA问题,对于研究和竞赛都是十分重要的 II. 问题的解决 RMQLCA问题的解决 在研究人员的努力下,RMQLCA问题已经获得了比较完善的解决方案,这里我们只列出一些常用算法的适用范围以及他们的时空复杂度: RMQLCA问题的解决 我们以O(f(N)) – O(g(N))描述一个在线算法,在O(f(N))的时间内完成预处理,在O(g(N))的时间内完成一次询问 以O(f(N) + g(N)×Q)描述一个离线算法的时间消耗 RMQLCA问题的解决 这些算法各自具有特点,但是针对问题过于狭窄。下文中我们将会看到,RMQ与LCA问题是可以互相转化的,这就大大扩宽了以下算法的应用面
原创力文档

文档评论(0)