【发布时间】:2013-01-24 22:55:22
【问题描述】:
接上两个问题,“Range Minimum Query approach (from tree to restricted RMQ)”和“Range Minimum Query approach (Last steps)”
我在TopCoder上关注this tutorial,方法在上一节介绍。
现在假设我已经完成了所有工作,并且准备好接受查询。根据教程,这是我应该做的:
i 和 j 在同一个块中,所以我们使用 P 和 T 中计算的值
例如,如果有这样的块:
000111
最小值当然在第三个0,但是如果i和j像4和6一样,第三个0就不会在查询条件中。是不是我的理解错了?
i 和 j 位于不同的块中,因此我们计算三个值: 使用 P 和 T 从 i 到 i 块末尾的最小值,最小值 i's 和 j's 块之间的所有块使用 A' 上的预计算查询 以及从 j 的块开始到 j 的最小值,再次使用 T 和 磷;最后返回整体最小值使用的位置 您刚刚计算的三个值。
为什么要计算从 i 到 i 块末尾的最小值以及从 j 块开始到 j 的最小值?两者的答案不都在 i...j 之外吗?另外,如果不完全像上一个问题那样合适,该怎么做。
【问题讨论】: