HUPC2020Day3 G Katsusando
解法
まず、二人が出会う地点は必ずカツが置いてある座標になります。途中で挟むとしても、左右どちらかのカツで出会うように適切に調整することで損をすることはありません。
- 左から番目のカツまで食べ終えた状態のときに経過した時間の最小値
としてこれを解こうとします。
今、番目のカツの座標で次のカツサンドを作成するとします。また、
- 番目のカツに誰かを配置して、番目のカツに移動させたときにかかる時間
とします。これはで計算できます。はどちらが大きくても問題ないです。
そのとき、左側における行動の最適解はになります。この時間をとします。これが求まると、
という計算をしていくことで、dpの計算ができます。
あとは、を答えれば終了です。
コストを求める前計算、dpの計算共にになります。
感想
カツを挟む部分を決め打った場合に更新が楽にできるようになり、これはあまり普段使わない考え方だったので面白かったです。