AOJ 3058 - Ghost (RUPC2019 Day2 H)
解法
燃やす埋める問題です。
詳しくはこちらを。
始点と終点および各幽霊に対応する作り、から各幽霊、各幽霊からに辺をはります。
この際、から出てくる辺を左に向くパターン、へ向かう辺を右に向くパターンとすると、
今番目の幽霊が向いている向きが
右のとき
から出てくる辺は容量、へ向かう辺は容量左のとき
から出てくる辺は容量、へ向かう辺は容量
となるように辺をはればよいです。
そして、番目と番目の幽霊が向かい合っているときにの恐怖度が発生するとしたとき(とします)、
からに容量の辺をはると、うまく条件を表現することができます。
あとは、フローを流していき、最小カットを求めれば答えとなります。
感想
問題を見た時点で燃やす埋める問題だ!となったので、成長を感じます。
こういう気づけばあとはコピペで終わるような問題をさらっと解けるようになると気持ちいいですね。