我需要知道一个允许我
的数据结构1)添加间隔和成本
2)提取全局区间[1,N]
中每个点的最低成本在这种情况下,没有间隔覆盖一个点返回INT_MAX。
我尝试使用延迟传播修改分段树。我是否应该在每次更新时做出决定?它不起作用?
我可以在这里使用稀疏表吗?
答案 0 :(得分:0)
基本上听起来你需要interval tree映射间隔来计算成本。
要添加间隔,只需在树中添加另一个条目。
要执行您编写的查询,请求树返回与给定点相交的所有条目;给定此列表,如果为空,则返回无穷大,否则返回最小值。
第一个查询的复杂性是间隔数的对数。第二个查询的复杂性是间隔数的对数+交叉间隔数的线性。
(顺便说一下,我已经在Banyan package中为Python实现了这类东西。)