我在数据结构课程中进行了测试,其中一个问题是:
假设您有一个 n 大小的数组,该数组由 Range Minimum Query 维护,该查询给出了 o(1) 复杂度的数组中两个数字之间的最小值。当然,该数组是 o(n) 准备使用动态编程针对不同选项来回答 RMQ 的。问题是 - 如果我更改数组中的一个对象(数字),我将如何更改我所做的准备工作以便我仍然可以在 o(1) 中找到 RMQ,以及它需要什么复杂性。
答案不是在 o(n) 中创建一个新的 RMQ,它必须小于这个值。
这个问题不是作业,我只是想通过测试来理解。
提前致谢。