差異制約学習ブログ

アルゴリズムの導入からの違いの制約をうっかり見て、1時間の学習に費やした

参考ブログ:ブログ1

これはおそらく、このタイプの問題には通常2つのモデルがあることを意味します。

1.間隔の最大数を示すn間隔を指定してから、合計最大値を見つけますか?

 

 

2.各間隔の最小数を示すためにn個の間隔を与え、次に合計最小値を見つけます

 

 

例:P1250植樹

トピック:

m間隔を与える賭けとは、少なくともtの木がbからeまで植えられ、最小の合計の木を見つけることを意味します。

 

分析式:

少なくともt本の木が植えられているので、それ以上の形式で書く必要があります

s [e] -s [b-1]> = t //下限のみ、上限なし

各位置iは植えることができるかどうか:0 <= s [i] -s [i-1] <= 1

s [i] -s [i-1]> = 0

s [i-1] -s [i]> = 1

 

建築計画:

b-1からeエッジ重みtの有向エッジ

エッジの重みが0のi-1からiの有向エッジ

なぜi to i-1は-1の有向エッジを作成するのか

個人的な理解は、上記の2つの辺はこの辺の最小値によって確立され、iからi-1も最小の重みでなければならないということです(値は0、1です)。

 

 

 

別の質問:P3084斑点牛

トピック:

m間隔(l、r)を指定すると、間隔l、rに牛が1頭しかいないことになります。牛は合計で何頭ですか?

 

分析式:

s [r] -s [l-1] = 1

各位置iには牛があり、牛はいない:0 <= s [i] -s [i-1] <= 1

最終版のみの形で書かれている

s [i] -s [i-1] <= 1

s [i-1] -s [i] <= 0

 

建築計画:

1からrまでの重み1の有向グラフ

l 1の構築重みが1のr有向グラフ

i-1から1の建物の重量値が1の有向グラフ

iからi-1の建物の重みの値が0の有向グラフ

これは同じです。それぞれが最大値を保存してから、グラフ上で最短経路を実行します。

 

 

グラフの負の重みのため、Bellman-FordはSPFAソリューションのみを学習しました。

元の記事519件を公開 賞賛された69件 50,000件以上の表示

おすすめ

転載: blog.csdn.net/qq_41286356/article/details/105527799