【模板】树套树的查询区间第k小是否有log²n做法?
  • 板块灌水区
  • 楼主KarmaticEnding
  • 当前回复15
  • 已保存回复15
  • 发布时间2025/1/23 07:49
  • 上次更新2025/1/23 10:56:51
查看原帖
【模板】树套树的查询区间第k小是否有log²n做法?
642173
KarmaticEnding楼主2025/1/23 07:49

FHQ Treap\texttt{FHQ Treap} 的朋友们都知道,这个平衡树是可以合并的。

我们在线段树上找到一个区间,这个区间是由许多小区间组成的,而众所周知,每个小区间对应一棵平衡树,我们把这 logn\log n 个平衡树拼一拼,是 log2n\log^2 n 的,然后再在上面查区间第 kk 小,是 logn\log n 的。综上所述,理论而言可以做到 O(log2n)O(\log^2 n)

那么,这里有两个问题:

  • FHQ Treap\texttt{FHQ Treap}Merge\texttt{Merge} 函数默认左树最大值小于等于右树最小值,而我们在线段树上找到的一堆区间不保证这个性质,这个怎么解决?
  • 你拼完这些树之后还要拆,怎么拆?

发灌水区的原因是因为听灌多,而且气氛也可以不用那么学术。

2025/1/23 07:49
加载中...