A - Skating with Blocks Editorial by east1016

貪欲法

1. 「移動」と「滑走」のみ用いた場合の最適解を求める

  • ある目的マスから次の目的マスへ移動する際、「滑走」は高々 \(2\) 回しか使わないので、これを全探索して解を求める。

2. 「変更」によるスコア改善

  • \(\displaystyle i=0,1,2,\dots\ (\text{昇順}),\quad d\in\{L,\,R,\,D,\,U\}\)
    について、以下の手順を実行する。

    1. ターン \(i\) の次のターンで方向 \(d\) に「変更」を行う。
    2. 変更後、「移動+滑走」のみを用いて全目的マスを訪れるのに要するターン数を BFS で再計算。
    3. スコアが改善する場合は解を更新。

本番 100 位相当 提出

3. 衝突のなかったブロックを除外

  • 2 までで求まった解について、「一度も「滑走」による衝突が発生しなかったブロック」を設置しないことにする。

本番 76 位相当 提出

posted:
last update: