2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ABC 132: D - Blue and Red Balls

Posted at

以下、赤いボールを R、青いボールを B と書きます。

青いボールの並べ方

まず、青いボールの並べ方から考えます。青いボールを $i$ 個のブロックに分けると、高橋くんの操作回数は $i$ 回になります。ただし、青いボールは $K$ 個しかないので、$K+1$ 個以上のブロックに分けることはできません。

青いボールを $i$ 個のブロックに分けることにすると、各ブロックに最低1個は青いボールが必要なので、$i$ 個の青いボールを消費します。

残りの $K-i$ 個の青いボールは、$i$ 個のブロックのどこかに入ればよいことになります。この組み合わせ数は $_i\mathrm{H}_{K-i}$ と書けます。「$i$ 個から重複を含めて $K-i$ 個取る」と読みます。

この組み合わせ数は、||||BBBBB というように、$K-i$ 個の青いボールを、$i-1$ 個の仕切りと合わせて並べる組み合わせ数と等しくなります。よって、 $_i\mathrm{H}_{K-i} = {}_{K-1}\mathrm{C}_{K-i}$ です。

赤いボールの並べ方

次に、赤いボールを並べます。青いボールが $i$ 個のブロックに分かれるためには、$i-1$ か所のすき間に赤いボールが最低1個以上入る必要があります。この時点で $i-1$ 個の赤いボールを消費します。$N-K < i-1$ の場合、青いボールを $i$ 個のブロックに分けることができないので、そのようなボールの並べ方は存在しません。

残った $N-K-(i-1)$ 個の赤いボールは、端も含めた $i+1$ か所に分配すればよいです。これは ${}_{i+1}\mathrm{H}_{N-K-(i-1)}$ 通りです。先ほどと同じように、$N-K-(i-1)$ 個の赤いボールを $i$ 個の仕切りとともに並べる組み合わせの数と同じなので、 ${}_{N-K+1} \mathrm{C}_{N-K-i+1}$ 通りあります。

答え

以上から、高橋くんが操作をちょうど $i$ 回行うようなボールの並べ方は、$i \leq N-K+1$ ならば ${}_{K-1}\mathrm{C}_{K-i}\times{}_{N-K+1}\mathrm{C}_{N-K-i+1}$ 通り、$i > N-K+1$ ならば $0$ 通りです。

実装例

参考リンク

重複組合せ - Wikipedia

感想

こういうのが数分で定式化できる人は強い。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?