Charlie-Vinnie

Link

一道很好的复杂度均摊题目。

只需要考虑删除操作时的时间复杂度。保证复杂度的重点之一是精确定位到所有包含最大值的区间,即不去碰多余的区间。每次删除操作会删除若干个整个区间,以及至多两个区间被删一半。

由于一共最多插入了 \(O(m\log n)\) 个区间,所以前一半的复杂度是对的。

对于后一半,直接暴力将区间切半向下递归,于是两个儿子要么一个留下一个递归,要么一个删掉一个递归,递归层数至多 \(O(\log n)\),于是这一步复杂度也至多 \(O(m\log n)\)

总共复杂度就俩 \(\log\)(注意其中一个是 set 的,线段树只有一个 \(\log\)!)

相关文章:

  • 2021-10-12
  • 2022-12-23
  • 2021-10-25
  • 2021-10-25
  • 2021-05-19
  • 2021-07-14
  • 2021-05-26
猜你喜欢
  • 2022-12-23
  • 2021-08-31
  • 2021-09-15
  • 2021-08-03
  • 2021-12-09
  • 2021-09-25
相关资源
相似解决方案