Educational Codeforces Round 102 (Rated for Div. 2) - E. Minimum Path

問題リンク

解説

問題文をまず言い換えます。

 -\max をするということはその辺のコストを 0にすることで、  + \minをすることはその辺を2倍することと言い換えることができます。

そして、 \max , \minじゃない辺でやると得をしないので、任意の辺でどこのコストを0にしてどこのコストを2倍するかを決めてしまえばいいです。

ここまでくると後は簡単で、コスト0の辺を選んだかどうかとコストを倍にした辺を選んだかどうかを状態に持った拡張dijkstraをするとこの問題をとくことができました

提出コード

codeforces.com