给定自然数的数组,其中为常数,我想用以下形式的查询回答:“在索引和索引之间的数组中出现了多少次 “?
数组应在线性时间内进行预处理。特别是我想知道范围最小查询是否减少。
如果并且您要查询间隔内的个数,则等效于RMQ 。这样我们就可以使用它了。由于SE的限制,我无法回答自己的问题。
您可以减少问题的元素清晰度(线性时间)。也许谈论模型是有条理的?
—
Aryabhata 2012年
@Aryabhata到底什么是元素区分性问题?现在,我正在阅读:en.wikipedia.org/wiki/Range_Queries
—
安迪
这比RMQ容易得多。提示:因为k是一个常数,所以预处理可以花费与kn成正比的时间,并且仍然算作线性时间。
—
伊藤刚(Tsuyoshi Ito)
@Aryabhata:我认为您在说的减少不起作用,因为k在这个问题上是一个常数。
—
伊藤刚(Tsuyoshi Ito)
以防万一,如果数组是在开始时给出的,而不是在以后更新,则RMQ是一个过大的选择,正如我在前面的评论中所建议的那样。
—
伊藤刚(Tsuyoshi Ito)