DPプラグ説明+ [BZOJ1814]:ウラル1519式1(プラグDP)

1.プラグDPとは何ですか?

CDQギャング圧力DP DPのより高度な形マルチに基づいて使用される、DP 2008年論文で提案されたプラグユニコムの問題を処理ルーティング問題は、単純なループの問題、マルチループの問題、一般ループの問題、スパニングツリー問題)。

DPは、各質問プラグ異なり、非常に厳格かつ包括的思考を行使するために、より複雑な分類の議論なので、DPプラグが必要です。


2.プラグDPのアイデア

  $ \ {Mathcal A.} $のEnvision

    $ \アルファ。$プラグ

      プラグは示してリンク状態を

      ボードモデルでは、プラグは、グリッドはグリッドのこの方向側にプラグが接続されていることを示す、特定の方向にグリッドを有します。

      注意:プラグはどこに行くの仮想状態を言うことはありませんが、どこかで到着した現実の状態

      現在のグリッドと中国聯通は、プラグインのソースとなっていることを示す現在のグリッドにプラグポイントがある場合ので、我々は検討する必要がある次は、どこに行くことです。

      はるかに魅力的都合でのプラグインを使用すると、我々は一般的に、フレームごとの再帰的な、人気の話を必要とする、それが再び実行することです。

    $ \ベータ版。$輪郭

      等高線は、それが等高線と呼ばれている理由として、私はCDQはCDQと呼ばれる理由のように、彼女は知りませんでしたが、彼女の両親は知っている、知らない、境界線です。

      行を分割し、「ノー決定グリッド」「意思決定が格子となっている」として、あなたは感情的に理解することができます。

      しかし、輪郭線のそれよりも使用。

      このラインメモリ効果に輪郭も互換性のあるプラグステータス。

      m個のグリッドがあることに注意してください、そして、彼の党の中にM + 1つのプラグの仮定があるだろう、なぜ?

      以下このチャートを見てください:

      

      明らかに彼の党内の4つのグリッドがありますが、5つのプラグは正しい意思決定に現在ある以上、プラグの格子の外にあります。

      個人的な習慣は、第1〜mを差し込みます。

      一般データの範囲が比較的小さい、我々は保存するための圧力、すなわち定義さdpのように使用することができます[I] [J] [状態]この時点で(i、j)は、現在の判断を示し、プログラム番号$州$(あるいは価格の状況、など)。

    $ \カイ。コンバインド$は、輪郭とプラグ

      一緒に等高線と一緒に差し込み、それはいくつかの美しい火花をクラッシュします。

      私たちは、正当な状態に転送することができ、すべてを取得するためのプラグの存在の基礎である、再帰します。

      問題の回路では、状態のためのグリッドは、正確に2つのプラグは、「出て行け。」、「来ます」

  $ \ Mathcal {B} $記録状態

    ここでは記録状態を導入するための3つの方法があります。

    $ \アルファ。$最小表現

      便宜上、すべての障害が0と格子、それに接続された第1の格子乱れだけでなく、すべての非グリッド1とマークされ、最初にそれに隣接して標識されていない、と格子グリッドは2としてマークされている......

      すべてのグリッドが完了とマークされるまでのプロセスを繰り返します。

      栗の場合:

        1,2,5ユニコム、一緒ユニコム3,6、4自体およびそれらのカードは、それが最小の表記{1,1,2,3,1,2}です。

    $ \ベータ版。$ブラケット表記

      初見の自然:輪郭仮説4、B、C、D、AとBとCは、その後Bとユニコム確かでないD、ユニコムユニコムないプラグ。

      それはので、このプロパティは重要であるチェス盤のすべてに適用されます

      

      BとDの交点が、状況を満たすことは不可能である場合には、このように、それも明らかです。

      もう少し具体的な:

      

      私はあなたがプロファイルのトップへのパスは、いくつかの部分からなるパスから互いに素であることがわかります慎重と信じて、その理由は、その絵の上に再びです。

      各経路上の2つのエンドポイントもの輪郭に正確に対応する2つのプラグ

      脱線、これは左括弧が閉じ括弧に対応する必要があり、私たちは一致括弧を考えるようにするために、非常に簡単に「交差しない」左スタックに括弧と右のスタックを括弧します。

      もちろん、それはあなたがCartland数を考えることが可能である、多くの場合、あなたのカードを助けるために非常に重要です。

    $ \カイ。コーディング状態$

      利用状压的思想,我们将每行m+1个状态用一个m+1位的k进制数表示,在做题的时候建议将k改为2的n次幂,方便进行为运算,运行速度会有很大的提升(前提空间允许)。

      小技巧:如需大范围修改联通状态,可以选择

おすすめ

転載: www.cnblogs.com/wzc521/p/11260885.html