AGC023-C:Painting Machines
問題
https://beta.atcoder.jp/contests/agc023/tasks/agc023_c
個のマスがあり白く塗られている。ある操作で
を黒く塗ることができる。順列
によってすべてのマスを黒く塗るとき、はじめてすべてのマスが黒く塗られるまでの回数
が何通りあるかそれぞれ求めよ。
制約
考え方
何が簡単に求めることができるだろうか。条件を緩めて求めやすい数はないか?という意識で方針を探索することが重要。
ちょうど 回の操作ですべてのマスが黒くなる場合の数を数えると、
回までは少なくとも
つのマスは白くなっており、
回目の操作ですべて黒くなる場合を考えなければならない。これは数えにくい。
ちょうど 回で塗る場合の数ではなく、
回以下ですべて塗る場合の数を考えると
回以下ですべて塗られている場合も含めて
回ですべて塗られていればよいので、数えやすくなる。
回以下ですべてのマスを塗る場合の数が何通りにあるか求める。
回以下で塗るときの必要条件は、
(A). は
回の中に必ず含まれる
(B). ( として)
である。((B). によって順列の対象となる数が決まるイメージ)
(A). については 通りである。(B). については
となる回数を
、
となる回数を
とすると以下が満たされる必要がある。
上記を満たす 個の
、
個の
の順列、
である
つの数の順列, それ以外の
つの順列の積が
回以下ですべてのマスを塗る場合の数となる。
あとは、ちょうど 回の場合の数 =
回以下の場合の数 -
回以下の場合の数 であるから、求めることができる。
ポイント
- 何が求められるか。求めやすいか考える