問題の走り書きにビデオクラス・データ構造・ソリューション

朝と基本的には何の収穫がなかったです。元のタイトルよりも、残りはあまりにも困難でした。しばらく出ている間鳴りませんでした朝をキャッチするネット。

 

1、$ BST $保守サポートインサート、ルートの最大/最小値および単一スピンのクエリ深さ、またはクエリ及び回転動作では、それを削除します。$ Q \ル10 ^ 5、V \ル10 ^ 9 $

あなたは、問題のデータ構造は確かにシミュレーションではありませんシミュレートしていますが、このデータ構造の性質を発見してみましょうことができます。

私たちは、両極端のもののみ回転動作を発見しました。例えば、最低でも。

最小値は、ルートに最も左側のポイント、確かに左息子の回外でなければなりません。右の間には、元のルートの息子です。

オリジナル父の最小値は、構造体の残りの部分は変更されないまま、彼の息子が最小右の息子になっていた左。

私たちは、その深さを維持したいが、実際には、この操作は、サブツリー全体+1、1への最小深さに加えて、ツリー全体です。

バランスを維持し、元の木、深さ、父親、そして重みの息子についての情報を維持するために、本物の木を持つようにします。

私たちは、新しいノードは、二分探索挿入位置を挿入します。

あなたが根に直接深さ-1十分な残りのノードを持っているので、ノードを削除するには、簡単です。

 

図2に示すように、指定された文字列の長さL $ $正方形文字列は、それが$ $それぞれ接続エッジをw_l位置に対応する場合。最小スパニングツリー。$ N \ル3 \回10 ^ 5 $

$ソートワットまず$。幼い頃に到着考えてみましょう。

$ L $の列挙のために。センチネルを得る方法は、正方形の文字列、次に多重接続互いに素なセットのエッジノード。

再帰は、次の2つの低レベルの互いに素セットを見つけた場合はそうでない場合は、再帰ユニコム直接返送されてきました。

このような再帰的には、少なくとも一方が接続されていないことを提供するので、$ $ログインする各再帰でも少なくとも一つの側面をレイヤーします。

複雑ので、唯一の$ N-1 $エッジをスパニング正しいです。

 

3、木、互いに異なる各点の色。すべてのポイントのルートパスにポイントをサポートしていますが、同じ色が、表示される色ポイントの最大数のルートパスにツリー内祈る、色のパス番号を見つけることができません染めました。$ N、Q \ル10 ^ 5 $

検討は、ルートパス上の各点で表される色の数にアレイを維持します。

あなたは両方の問い合わせに答えを見つけることができ、この配列によれば、第2の文は$ LCAの$の周りに特殊なエッジについて質問します。

同じ色の点の双方が重い側、または光の両側になり、最初の操作である$ $アクセス

ツリーラインを開くには、動作範囲はプラスマイナス木のラインです。

変換の$アクセス$は$ログ$で期待しています。したがって、合計複雑さは$ O(nは\ログ^ 2 \ n)は$です

実際には、コンバージョンの数は、それに応じて$ Q \ログ\ n $である多くのエッジとして見ます。そのため、木メンテナンス部の直接の使用も可能です。

 

ツリーの右側に4、(loj2135)点、右の支持点の変更、クエリ$ min_x(\和\ limits_ {V = 1} ^ {n}はDIS(U、V)\関係がw_v)$。$ N、Q \ル10 ^ 5 $。$ \ル度ポイント20 $

パーティション・テンプレート・問題の動的なポイントであると言われていますか?しません。

このようなものの焦点に似たものを探して、その決定点は、貪欲動くかもしれません。

知られていないどのくらいの深さしかし、それは直接的な暴力ではありません。

ツリーポイント場合は、たったの$ $ログの深さを指します。

祖先からそのパーティションのすべてのレベルに各点について計算し、包含および除外は、答えを計算します。

様々な距離および鎖の寄与のメンテナンスは、古典的な動作のルールを点在しています。

修正すべてのレベルでパーティションの祖先、およびオリジナルの貢献の大暴れを削除するには、変更することができ、新たな貢献を追加します。

お問い合わせは、ルートから歩行を開始するたびに、あなたはオーバー、または停止に歩くことができるならば$ 20 $サブツリーの方向は、暫定的な答えを更新することができ超えません。

ツリー、分割統治の方向の主な焦点の側を下に行くのではなく、直接アクセス分割統治の中心点に行っする誘惑を指します。

フォーカスが右にシフトした後、サブツリーのメンテナンスによると、それぞれの息子を列挙する必要はありませんし、ツリー全体の半分以上のみ必要パワーと大きな息子という。

複雑さは$ O(ログ)$であるように、点線の木の祖先をジャンプするために必要な各ポイント、$ O(ログ)の合計$回の答えを解きます。($ O(1)LCA $が必要です)

これは正確性を保証します。一方、時間の複雑さは、$ O(Q \ログ^ 2 \ n)が$です。

より多くの暴力が、アプローチを通じて、変数$ cnt_u $は$ U $晴子ツリーの$ w_v \倍のDIS(U、V)の$を点在表し$地点右のポイントパーティションのサブツリーを表し、$ sum_u維持することですそして、。

$ sub_u $は$ U $表し晴子ツリー$は\倍のDIF(V、f_u)$をw_v、どこで$ F $点在点線の木の父です。これらの変数は、暴力を変更することができることを修正グッドは$ O(Q \ログ\ n)は$です。

あなたはこの変数を使用することができたときに歩きます。最適化を行わず、その後、$ 20 $方向に沿って歩きます。複雑さは$ O(20qlog ^ 2N)$も扱われています。

 

 

5、(bzoj2959)無向グラフ。サポートプラス側は、ポイントを変更する権利は、クエリ内の最大重量は、ノード(重複しない)との値を渡すことができる経路のうちの任意の2つの辺の向きを設定します。$ N \ル1.5 \回10 ^ 5、Q \ル5N $

これは実際にいくつかのルーチンの質問に行われます。質問の意味を見つけることは困難ではない、それはサイド後のツリー・パスを縮小し、倍増することです。しかし、プラス側は、何かが間違っています。

したがって、凝縮点成果後。クエリと鎖です。前記加重値は、点のすべての対の右側であり、それは含まれています。

問題があっても、エッジです。

エッジがダブルエッジを持っている場合であっても、無視します。

両面ユニコムの両側には、まだ木に直接接続されている側を接続した場合。

これら2つの操作が直接互いに素なセットを用いて決定することができます。

そうでなければ、チェーンを抽出し、次に点に圧縮されます。

$ $メンテナンスLCTと。しかし、すべての側面を置くための時間の縮小のポイントは、再ビルド。ヒューリスティックをマージすることができます。

しかし、我々は$のLCTの$操作しているという事実は、各演算ノードは互いに素-セットダブルエッジの外観を使用した場合。

詐欺$ LCT $、起きていた何もふりません。その上に。

 

6、脊椎骨ます。https://www.cnblogs.com/hzoi-DeepinC/p/11747122.html

 

7、列$ $、B $の2つの長さ$ n個所与。各クエリの$ L、R、Lを考えると、R $ $ \最大\ limits_ {L \ルI \ルR} \ {\合計\ limits_ {1 \ルJ \ルR、b_j = I} a_jを見つける\ } $

オープンバレルの重みと体重維持の発生。Moのロールバックのチーム。

 

8、(loj2472)長さN- $ $の列の所定の数、及び最大の配列を見つける必要とする満たす辞書$ D_I \ GEQ D _ {\ FRAC {I} {K}} $。$ N、K \ル5 \回10 ^ 5 $

最初のハト。

 

おすすめ

転載: www.cnblogs.com/hzoi-DeepinC/p/12297189.html