E - Three View Drawing 解説 by noimi


公式解説と同様に \((a, b, c), (b, c, a), (c, a, b)\) の三つをまとめて取ることを考える(ただし \(a = b = c\) のときは一つ)。

これは、\(n \times n\) の盤面上で \((a, b), (b, c), (c, a)\) の三つのマスを選択することに対応する。 目標は、選択したマスが重複することなくすべてのマスを選択することである。

\(m = \lceil n / 2 \rceil\) として、\(n \times n\) の盤面を、右下 \((n - m) \times (n - m)\) の盤面に帰着することを考える(つまり、左上の逆 L 字型の部分をすべて選択する)

  • \(n \bmod 2 = 0\) のとき

\(0 \le i, j < m\) すべてについて、\((i, j, m + ((i + j) \bmod m))\) を選択すればよい。 これが重複しないことは簡単にわかる。

  • \(n \bmod 2 = 1\) のとき

\(0 \le i, j < m, i \neq j\) すべてについて、 \((i, j, m + (i - j - 1 \bmod m))\) を選択し、 \(0 \le i < m\) について、\((i, i, i)\) を選択すればよい。

この選択の仕方は、\(m \times m\) の正方形に、行、列に数字が重複しないように \(1\) ~ \(n - m\) を書き込む(ただし、\(i = j\) のマスには何も書かなくてもよい)方法と対応している。

以上の操作を \(n \le 3\) になるまで繰り返し、選択した組は \(K\) が不足しない限り取り続ける。

\(n = 2, 3\) になったとき、\(K \le n^2\) であることが示せるので、直接構成すればよい。

投稿日時:
最終更新: