bzoj2324救助ピカチュウ

正直に言うと、私はコストと流れを解決するために期待していませんでした。
この質問は、外観は、それはDPだと思ったとき、です。しかし、その後、よりこの状態の確立することができない、それがシフトすることはできません発見しました。その後、私は長い時間のためだと思うが、いくつかを発見しました意味のありません自然。
1.各点は上記で(ノード0を除く)の中で最も一点になります場合は
連続した方法でなければならない行くために2ポイント。これは明らかにそうではありませんか?
3.それぞれのポイントに、この点について最短経路を取るようにしてください来て、拡張ポイントなしで行くことができません。

プロパティ2によって、我々は実際には元の問題は、これ以上のk個のチェーンより選択することではないことを見つけることができるマップ全体をカバーし、アウト(チェーンは鬼畜を比較することができる)、および最短の全長ことを確実にするため。
性質3により、我々は最初に前処理することができます FリットルD DI S [ I ] [ J] それは後にのみ示します K< = I | K< = J 最短転送ポイントが得られます。

最小経路に従って被覆方法。:だから、フローチャートの建設のコストを考慮
1。 S 0 さえ K0 サイド。
2。 S さえ 1 0 サイド。
3。 T I + N さえ 1 0 サイド。
4。 J+ N そして、会います J> 私は さえ I N FDI S [ I ] [ J] サイド。
なぜ、あなたも行うのですか?

1性質により、それぞれがその結果、パスの終点である可能性が高いので、各点 T でもエッジ。
もし I + N - > T 完全な流れを左右し、それがどのように行うために、通過点ではないでしょうか?だから、 S でも埋めるために来ている、唯一のある流れの一部が欠落 S- > I 流れの不満、そして I + N - > T 全流量は、経路のポイント端(全ての出発点であります 0 )。 J+ N でも側は通常の歩行です。

そして、最終的には最小コストの最大の流れが答えです。

コード。それを書くために!とにかく、それは難しいことではありません。

公開された51元の記事 ウォンの賞賛6 ビュー20000 +

おすすめ

転載: blog.csdn.net/qq_35776579/article/details/78277274