Official

L - Small RPS Tournament Editorial by miscalculation53

10 点

次の区間 DP をすればよいです。

  • \(\mathrm{dp}[l][r][i] := \) 区間 \([l, r)\) において、人 \(i\) だけを残すようにできるかどうか

\(\mathrm{dp}[l][r][i]\) を計算するには、区間 \([l, r)\)\(2\) つの区間 \([l, m)\)\([m, r)\) に分割したとして、

  • \([l, m)\) の勝者が人 \(i\) で、\([m, r)\) の勝者が人 \(j\)
  • \([l, m)\) の勝者が人 \(j\) で、\([m, r)\) の勝者が人 \(i\)

のパターンを調べるとよいです。この \(m\)\(j\) を全探索すれば、全体計算量は \(O(N^5)\) となります。

実装例

posted:
last update: