Official

E - Greedy Ant Editorial by camypaper


すぬけ君の手番の行動を以下のように言い換えてもゲームの結果は変わりません。

  • ゲーム開始前に、すぬけ君はマットといくつかのコインを用意する。はじめ、マットの上にはコインは置かれていない。
  • すぬけ君の手番では以下の順に行動を行う
    1. コインを \(1\) 枚マットの上に置く。(置いたあとにマットの上にあるコインの数を \(k\) とする)
    2. すぬけ君は \(0\) 以上 \(k\) 以下の整数 \(n\) を選ぶ。
    3. マットの上から \(n\) 枚のコインを取り除き、\(n\) 個の飴を選んで取る。

蟻が直前の手番で取らなかった飴をすぬけ君が取った場合、元のゲームにおける今回の手番で取ったことにすれば元のゲームにおける盤面と矛盾しません。 一方、それ以外の飴をすぬけ君が取った場合は、元のゲームにおける今回の手番、あるいはまだ取った飴が確定していないような過去のいずれかの手番で取ったことにすれば元のゲームにおける盤面と矛盾しません。

結局、この新しいゲーム上ですぬけ君が取る飴の美味しさの総和を最大化すればよいです。これは蟻の両隣にある飴とマット上にあるコインの枚数を状態とする \(O(N^3)\) のDPで求められ、 \(N \leq 400\) より十分高速です。

posted:
last update: