アルゴリズムの導入からの違いの制約をうっかり見て、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ソリューションのみを学習しました。