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