未知の問題解決

\(\ 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)\)

おすすめ

転載: www.cnblogs.com/Ryedii-blog/p/12359684.html