ZROI 19.07.30シンプルなグラフ理論/ KK

1.最短

  • NOI2019 D2T1

私はこの質問鉄/ポンドを送りました。

ZZは私だけのような、二次元のツリーラインを書き込みます。

実際には、あなただけのことができる長方形の分を取る必要があります。

KD-treeは、最も遅いポイントカジュアルすぎるかもしれ\(0.1秒\)

別の簡単な方法は、パイル側を押すことである、それぞれの側の最小値(開始点+右側)が最適見出さなければならず、その後、セグメントツリーセットまたはセットが互いに素なセットすぎている対応する矩形を空にする。(STOの_rqyクラリスORZ)


  • \(\ N-)点、\(m個\) DAG、各ポイント削除要求のエッジ後\(1 \)\(\ N-)最短。\(N、M \ 1当量3 \ ^ 10 5回\)

トポロジカルソート後、各点のために\(X \)前処理\(F_X、g_xを\)はそれぞれ、\(1-> X \)\(X-> N \)が最短です。

各ポイントは、トポロジシーケンス考慮\(X \)を二組を維持しながら、(A、B \)\、それぞれ順にトポロジー\(X \)の前後ポイント。

その答えは、B $に\ B、Aでそう$ F_A + G_B +(a、b)は、\を形にする必要があります。

上述した構成を維持するためにスタックと\(Xは\)に移し\(X + 1 \) 単に\(X \)を添加した\(A \) および\(X + 1 \)から(\ B \)除去し、影響を受けた各処理を行います。


  • \(N- \)点、\(m個\)の各点を推移閉包、エッジ公差、最も倍の不良の大きさを計算し、グラフを監督。\(N、M個の\のLeq 2 \ ^ 10 5回\)

SD省セットはについて話しました......が、私は忘れてしまいました。

結論:\([0,1] \)の間の\(\ N-)ランダム変数、最小値が望ましい(\ \ {N-FRAC {} 1 1} + \)

どうやら比較。

ポイントを凝縮した後、各点に割り当てられた\([0,1] \)変数の\(F_iと\) およびトポロジーシーケンス従う\(F_X = \分(F_X 〜(X、Y、f_y)を、 )〜が存在する。\)

服用を繰り返し、数回、\(F_iと\)平均計算は2倍以下のエラーに望ましいことを証明します。

2.スパニングツリー

  • \(\ N-)点、\(m個\) 図縁無し、\は、(私は\)側面をとる\(2 ^ I \) 今私は、少なくとも一度は各道路を通過する最小コストを見つけたいです。

各側は、辺の数が2倍オイラーツアーになるためにアートワークを取る必要があり、最初の一回行きます。

それを行うことができ、スパニングツリーを見つけ、あなたは最小スパニングツリーを選択することができます。

ルートノードの統計、シンプルな木のDPに答えるために葉からの統計。


  • \(N- \)図の点は、黒、白エッジ間の2つの点のそれぞれのいくつかの部分は、ちょうど見つけ、ある\(K \)スパニングツリー白エッジストリップの数。

それは算術のすべての4つの法則を満たしているので、あなただけの整数を置くことができない長時間露光......マトリックスの木は、それはまた、多項式置くことができます......

セット\(I、Jの\)の部屋\(A_ {I、J} \) 条白エッジ、\(B_ {I、J} \)条黒側、マトリックス\(C_ {I、J} \ 位置である({I A_、B_ {J} X + I、J} \)\

最後に、これは、計算された行列式である\(N-1 \)多項式、\(I \)係数項正確さ(私は\)\白のボーダーの条数がスパニングツリーが。

多項式の直接計算が困難になりますが、あなたは選ぶことができます\(N \)\(X_I \) 多項式に続いラグランジュ多項式補間。複雑\(O(N ^ 4)\)


  • \(N- \)図ポイント、右側で、スパニングツリーの重みの全ておよびことを必要\(K \)乗。\(N、K \のLeq 50、W_i \ 1当量9 ^ 10 \)

そのような上記のタイトルで、離れて\(k個の\)各位置におけるパワーマトリックス後は\(Kの\)倍合成生成機能。最後に、乗算される\((N-1)のk \) 群から選択される多項式、\((N-1)K + 1 \) 点を補間することができます。複雑\(O(N-4K ^)\)することができますとにかく、あまりにも。


  • 探している\(N- \)最小分散点スパニングツリー、\を(N- \ ^のLeq 10 5、W_i \ 1当量9 ^ 10 \)

暴力の考えを比較します。

セット\(F(X)= \ SUM(V_I-X)は^ 2 \) 見つかった\(F(X)\)\(X \)は、平均値、最小値をとっています。その代わりに、他の数の平均を使用する、小さいが答えではない、です。

平均挙げられる\(\ Sigma社\) エッジに応じて\((V_I - \シグマ) ^ 2 \) 最小スパニングツリーをソート。

しかし、範囲が列挙には大きすぎます。我々は、列挙見出さ\(\シグマ\)プロセスを、唯一の本質的に異なる順序付けスキーム\(M ^ 2 \)タイプ(双方が時間一意に決定された順序で交換されるであろう)。

従って溶液は暴力行うことができる\(M ^ 2 \)倍最小スパニングツリー、時間複雑度\(O(Mは3 ^ \ Mログ)\)

検出された各エッジの寄与を最適化検討\を(a_iを> 0 \)は二次関数であり、二次関数のすべての\(a_iを\)がインターバルの期間に存在することを意味同じことが、最小スパニングツリーであります。

サイド・バイ場合\(W_i \)小から大へ、各側ツリー内の「時間を追加することができ、」前にキックオフする\(W_i \) その場合、二次関数形状を考慮(最小側この寄付金は)、最低点のエッジを越えて成長し始めました

LCT最大スパニングツリーとエッジの重みと重みを維持し、正方形であってもよいです。時間複雑\(O(m個\ログメートル)\)

3.2-SAT

  • \(\ N-)点、\(m個\)とエッジ(\ \ K)正確に各点を満たすために属するセット。少なくとも一つの各側エンドポイントから選択されるように、各セットは、正確に一つの点から選択されます。\(N、M、K \ 1当量6〜10 ^ \)

制限されたエッジボードは、2-SATです。

制限は、多くの問題、プレフィックスの各セットのための構成設定を設定\(\)と拡張セット\(Bの\) 次の制限:もし(1 a_iを= \)\、次に\(A_ {I + 1} = 1 \) ;もし\(A_ {I + 1} = 0 \)次いで\(A_ {I} = 0 \) ;もし\(\ a_iを= 0) 次いで\(S_ {a_iを} = 0 \ \(Bの\)限定共感。

接頭辞と接尾辞の方法は、ほぼ完全図は、線形最適化になっても、エッジとなっています。


  • \(\ N-)\((X_I、Y_I)\) 直角二等辺三角形の中心点に対して斜めのような形状の建物を構築するための各点、及び斜辺に平行または垂直\(Xの\ )シャフト、シークの最大辺の長さ。\(N- \のLeq 60 \)

二分答えは、すべての点は4つの小さな直角三角形に分割されます。これは、2つが斜めに選択され、一つだけを選ぶことがわかりました。それからちょうど2-土


  • \(N- \)ツリーの点\(m個\)臨界点、各臨界点のツリーの位置を判断する\(P_I \)を、満足\(K \)例えば「のような形状\(p_x \ )ルート、\(p_y、p_z \) LCAがある\(W \)ポイント「の制限。\(N、M \のLeq 100 \)

まず、制限をするように変換することができる(Q \)を\ルート、場合\は(p_x、p_y、p_z \)任意の二つのサブツリーの間で同じではありません。

ハードポイントを設け、ルートである直前の点\(F_ {X、Y}は \) キーを表し\(X \)をツリー点にある\(Y \)サブツリーです。その後も気軽にうまくエッジを見て。

4.オイラー

  • \(N- \)ポイント\((X、Y)\) 黒と白染色の各点は、各列を満足するように、各列\(|白黒| \のLeq 1 \。) 出力方式。\(N- \のLeq 2 \ ^ 10. 5回\)

前提とする制限を締め付け(|白黒| = \ 0 \) と解けることを確認してください。

、二部グラフの仲間入りを構築オイラーツアーを見つけるには、左に黒で、白は右です。

実際には、いくつかの点の度合いが奇数であるだろう。各側上の仮想点を構築し、奇数ドットの反対側に接続されています。オイラー回路を走り、仮想点までの各点は研が。


  • \(N- \)点、\(Mの\)エッジのセットのサブセットの各々についてエッジ、図のループバックが存在しない場合、各通信ブロックが誘導されるサブグラフオイラーが存在する場合、その答えは、それがサブセット側の数の二乗に貢献だです。\(N- \のLeq。5 ^ 10 \)

明らかに度に各ポイントでもあります。

貢献の任意のサブセット:簡略化した形考える\(1 \)の答えは条件を満たすサブセットの数であり、すなわち、。リスト\(m個\)変数\(N- \) XOR式番目、答えは(2 ^ {P} \)を\ \ (P \)は、空きエントリの数です。

解決が困難方程式が、注意深い観察は、各ブロックとの通信のために、見ることができる、任意のスパニングツリーを見つけ、その後、非ツリーエッジの任意のセットのために、スパニングツリーの溶液の固有のセットを見つけることができるようにすべてのポイントの度合いがさえあります。

したがって、この簡略化された形のために、答えは(2-N-M ^ {X} + \)を\、ここで\(X \)が連通ブロックの数です。

我々は、エッジの集合のために、双方の濃縮溶液から選択される辺の数の二乗に等しいエッジ、ことを見出しました。したがって、我々はハード両面を指すことができます\(、B \)二つの側面が含まれているプログラムの数を計算するために必要。

ブリッジの双方が関与する場合、それらは、解決策をしなければならない点の奇数を有する2つの別個の通信ブロックが生成されず、奇数ドットを排除することはできません。

二つの側面を削除すると、接続を変更しなかった場合、我々はこれらの二つの側面がまだスパニングツリーを見つけることができますが、木の側は削減しない削除することができます\(2 \)を、答えは(2 ^ {メートルを\しますX-2} + -n \)

通信ブロックが消去増加場合同様、\(1 \)を(一つの環が切断されることが理解されよう)、答えは\(2-X ^ {M-1} + X \)

通信の決意のために、各通信は、最初のブロックツリーDFSを生成することができる(のみ先祖返り側ように)、そして各非ツリーエッジがランダム重みをULL、体重鎖は、その適用範囲をXOR。2つの値が等しい辺の重みは、それらを削除している場合、それらは独立して、中央部分にバインドされています。まさにこの重量うまく維持します。

実際には、それのすべてのケースの数を計算する必要があるだけ列挙する必要はありません。

おすすめ

転載: www.cnblogs.com/suwakow/p/11375064.html