ABC278 G - Generalized Subtraction Game
$ L \lt Rの場合
先手が必ず勝ち
偶奇どちらの長さも選べるのが重要
$ Nが奇数の場合
中央のカードを含んで左右対称になるように奇数枚を選ぶ
$ Nが偶数の場合
中央に存在する2枚のカードを含んで左右対称になるように偶数枚を選ぶ
後は相手が選んできた手に対して対称になるように選べば必ず自分の手番で最後にできる
$ L=Rの場合
範囲の選び方が連続した残りのカードの並びに対して$ \mathcal{O}(N)になり、Grundy数を小さい並びから順に求めていくことで$ \mathcal{O}(N^2)で求められる
残りのカードは取り除かれたカードによって左右に分割され、それぞれ別の山になったとみなせる
初期盤面でgrundy数が0なら後手、それ以外なら先手を選ぶ
その後は相手にGrundy数が0になる盤面を返す