きままにものづくり

日々の気付いたことなんかを書いてます。

POJ 3264 : Balanced Lineup

問題

要素数N(\leq 5 \times 10^4)の数列が与えれる。[a,b]区間の最大値と最小値の差分を求めなさい。

解法

セグメント木を使う。最大値を保持する配列と最小値を保持する配列の2つを持つ。

計算量

更新:O(N log N)
クエリ:O(Q log N)

コード