平面走査によって時間計算量 で解くことができます。
まず、1次元の配列に対して以下の2種の操作を考えます。
これは、要素に{区間の最小値, 区間中の最小値の数}を持つ遅延セグメントツリーを使うと実現することができます。
次に、本問題について考えます。
座標を小大となるように見ていくと、以下のイベントが起こります。
これを全ての座標について行うことで解けますが、 となるため座標のスケールが大きいと間に合いません。
そこで、 の値が変化する 座標のみに注目します。
の値が変化する可能性があるのは長方形の追加、削除が行われたときのみであるため、
として、 を答えに足していくと全体で で解くことができます。