【发布时间】:2020-09-22 11:37:21
【问题描述】:
我正在尝试解决以下问题:
给定一组区间 [[s1,e1],[s2,e2],[s3,e3],[s4,34],...] 其中每个区间由 start 和 end 组成,所有区间都是不相交,判断点 X 是否属于允许误报但不允许误报的恒定时间间隔之一,并使用与输入无关的恒定内存量[例如散列等]
所以主要bloom filter可以用于点查询,但是将每个点存储在bloom filter的间隔中效率不高,并且使用Tries会产生对数运行时,内存使用量应该是恒定的并且不相关间隔计数[超参数]
我试图通过调整现有 DS 来寻找现有的 DSor,但找不到类似的 DS,如果有的话,有什么建议可以解决这个问题吗?
【问题讨论】:
-
允许使用多少预处理时间?只是为了确认一下,您已经预先获得了所有的间隔?
-
嘿,最初给出了间隔,但它们可以通过添加/删除进行更新,因此更新时间应该是最小的,因此允许将初始状态构建到 o(n^2),但对于update(insert, delete) 它应该在 log(n) 附近,其中 n 是间隔数,当然,如果有更好的界限,那就太好了
标签: data-structures hash probability intervals bloom-filter