cartesian-tree相关内容
所以,我阅读了this 关于 RMQ(范围最小查询)的 TopCoder 教程,我有一个大问题. 在他介绍 方法,到目前为止我能理解的是: (整个方法实际上使用了稀疏表 (ST) 算法,从 LCA 减少到 RMQ,以及 从 RMQ 到 LCA) 给定一个数组 A[N],我们需要将它转换为笛卡尔树,从而使 RMQ 问题成为 LCA(最低公共祖先)问题.稍后,我们可以得到数组 A 的
..
所以,我读了此关于RMQ(范围最小查询)的TopCoder教程,我遇到了一个大问题。 在他介绍方法,直到现在我仍然可以理解: (整个方法实际上使用了稀疏表(ST)算法, R从LCA到RMQ ,并且从RMQ到LCA ) 给定数组A [N],我们需要将其转换为笛卡尔树,从而使RMQ问题LCA(最低公共祖先)问题。稍后,我们可以获得数组A的简化版本,并将其作为受限的RMQ问题。
..
所以,我读在那里,他引进了(整个逼近实际使用的方法在给定一个数组A [N],我们需要将其转换为笛卡尔树,从而使一个RMQ问题的一个LCA(最低公共祖先)的问题。后来,我们可以得到数组A的简化版本,并使它成为一个受限制的RMQ问题。 因此,它基本上是两个变换。因此,第一个RMQ到LCA部分是简单的。通过使用栈,我们可以转换为O(n)的时间,导致数组T [N],其中T [i]为i的元素的父。和树
..