$RMQ$問題($ST$表)

地山發表於2024-11-05

\(RMQ\)(區間最值)問題,通常用\(ST\)表。

  1. \(ST\)表不僅可以解決區間最大最小問題,還可以解決區間最大公因數/最小公倍數(
  2. 二維\(ST\)表(),其實就是兩個維度都進行倍增,但注意兩個維度都要從\(0\)開始列舉,一個為0,一個不為時也要轉移。
  3. 結合二分,當二分一個值(如區間長度,區間端點)並需要用區間最值\(check\)時,可用\(ST\)表維護區間最值()。或者可以二分範圍,然後需要求此範圍內的最值。(
  4. 二維區間最值不一定用完整的二維\(ST\)表,可能由於一些極好的性質(),將矩形最佳化為正方形,時間空間都最佳化掉一個\(log\)
  5. \(ST\)表的區間不一定是實際的位置。比如給\(n(1\le n \le 1e5)\)個範圍\(x(1\le x\le 1e9)\)和這個範圍上的數,求區間最值。這種問題就不應該用\(x\)做下標,而應該用\(n\)範圍作下標。這是可能在題中還會涉及到離散化等。
  6. \(ST\)表與二叉查詢樹結合(),可以將插入點權值排序,再用\(ST\)表維護區間最小時間戳。
  7. 再來提供一道神秘題

相關文章