\(\ texttt {説明} \)
与えられた\(N- \)ツリーポイント、与えられた\(M \)のパス\((X_I、Y_I)\)、\ (Q \)回のクエリ、クエリごとに与えられた\(L_iを、R_iと\ )、経路を求めて\((X_ {L_iを}、 Y_ {L_iを})、(X_ {L_iを+ 1}、Y_ {L_iを+ 1})、\ cdots、(X_ {R_iを}、Y_ {R_iを})\) 通信ブロックセットの数。
定义路径的并:、X_I(で\(\カップ(X_I、Y_I)=(V = \ cup_ {I} \ cup_ {ノード\で(X_I、Y_I)}ノード、E = \ cup_i \ cup_ {縁\ Y_I)}エッジ)\) 。
\(\ texttt {解決} \)
パスおよび森林ので、フォレストと通信しているブロックの数は、ポイントの総数マイナスエッジの総数に等しく、そして我々は、点集合の経路と各呼掛け側用のセット・サイズを計算します。
考え点群、側と同様の基。オフライン検討し、オンライン操作が難しいです。
パス操作を削除することは困難であるため、一次元のデータ構造の維持と右ポインタ増分、左ポインタを考えます。
右ポインタを考える\(R&LT \)に\(R&LT 1 + \。) 、維持しながら、\(\ {(X_I、Y_I )| K \ルI \ルR \} | k = 1,2、\ cdots、R \ )この\(R&LT \)のセットを追加\((X_ {R + 1 }、Y_ {R + 1})\) と。各点の単調性の組が存在するため、\(S \) 、メンテナンス\(T_S = \最大\ {I |(X_I、Y_I)におけるSは\ \} \) 、実測値(K \ルT_S \)\のコレクションが含まれている(S \)\。
メンテナンス\(T_Sは\) Keduo李ツリー、間隔を使用することができます\([L_iを、R_iと]を\ ) 答えは\(\ sum_s [L_iを\ルT_S] \) 。
経路は木であるため、ツリーは断面配列にマッピングされます。そのためである\(N N \ログ\)間隔操作を、時間複雑\(O(M \ログ^ 2N)\) 。