关于一类 单点修改、区间查询 的问题
  • 板块学术版
  • 楼主EasonLiang
  • 当前回复7
  • 已保存回复7
  • 发布时间2023/8/10 14:00
  • 上次更新2023/11/3 04:44:55
查看原帖
关于一类 单点修改、区间查询 的问题
392626
EasonLiang楼主2023/8/10 14:00

给定长度为 nn 的数列,多次查询区间内不同数字的个数。

这是已经存在的问题,离线做法有莫队(O(nn)O(n \sqrt n))、树状数组(O(qlog⁡n)O(q \log n))等,在线做法有主席树(单次 O(log⁡n)O(\log n))等。

考虑加入一种新的操作:单点修改,即改变数列中一个位置上的数字。

这时,原先的离线做法就不可用了,而主席树做法中单点修改操作的开销也会非常大。

请问是否存在一种数据结构,可以实现单次操作(单点修改、区间查询)O(log⁡n)O(\log n) 的均摊复杂度(假设 n,qn, q 是同级别的)?

如果不行的话,能做到 O(log⁡2n)O(\log^2 n)、O(n)O(\sqrt n) 等稍慢的复杂度吗?

我在网上没有搜到关于该问题的做法;如果处理这类问题的数据结构已经存在,也请推荐相关文章。

2023/8/10 14:00
加载中...