处理间隔和点查询的数据结构

时间:2015-07-04 04:59:37

标签: algorithm data-structures

我需要知道一个允许我

的数据结构

1)添加间隔和成本

2)提取全局区间[1,N]

中每个点的最低成本

在这种情况下,没有间隔覆盖一个点返回INT_MAX。

我尝试使用延迟传播修改分段树。我是否应该在每次更新时做出决定?它不起作用?

我可以在这里使用稀疏表吗?

1 个答案:

答案 0 :(得分:0)

基本上听起来你需要interval tree映射间隔来计算成本。

  1. 要添加间隔,只需在树中添加另一个条目。

  2. 要执行您编写的查询,请求树返回与给定点相交的所有条目;给定此列表,如果为空,则返回无穷大,否则返回最小值。

  3. 第一个查询的复杂性是间隔数的对数。第二个查询的复杂性是间隔数的对数+交叉间隔数的线性。

    (顺便说一下,我已经在Banyan package中为Python实现了这类东西。)