Sushi
题意翻译
现有$N(1 ≤ N ≤ 300)$个盘子,编号为$1,2,3,…,N$。第$i$个盘子中放有$a_i(1≤a_i ≤3)$个寿司。
接下来每次执行以下操作,直至吃完所有的寿司。从第$1,2,3,…,N$个盘子中任选一个盘子,吃掉其中的一个寿司。若没有寿司则不吃。
若将所有寿司吃完,请问此时操作次数的数学期望是多少?
题目描述
[problemUrl]: https://atcoder.jp/contests/dp/tasks/dp_j
$ N $ 枚の皿があります。 皿には $ 1,\ 2,\ \ldots,\ N $ と番号が振られています。 最初、各 $ i $ ($ 1\ \leq\ i\ \leq\ N $) について、皿 $ i $ には $ a_i $ ($ 1\ \leq\ a_i\ \leq\ 3) $ 個の寿司が置かれています。
すべての寿司が無くなるまで、太郎君は次の操作を繰り返し行います。
- $ 1,\ 2,\ \ldots,\ N $ の目が等確率で出るサイコロを振り、出目を $ i $ とする。 皿 $ i $ に寿司がある場合、皿 $ i $ の寿司を $ 1 $ 個食べる。 皿 $ i $ に寿司が無い場合、何も行わない。
すべての寿司が無くなるまでの操作回数の期待値を求めてください。
输入输出格式
输入格式
入力は以下の形式で標準入力から与えられる。
> $ N $ $ a_1 $ $ a_2 $ $ \ldots $ $ a_N $
输出格式
すべての寿司が無くなるまでの操作回数の期待値を出力せよ。 相対誤差が $ 10^{-9} $ 以下ならば正解となる。
输入输出样例
输入样例 #1
3
1 1 1
输出样例 #1
5.5
输入样例 #2
1
3
输出样例 #2
3
输入样例 #3
2
1 2
输出样例 #3
4.5
输入样例 #4
10
1 3 2 3 3 2 3 2 1 3
输出样例 #4
54.48064457488221
说明
### 制約
- 入力はすべて整数である。
- $ 1\ \leq\ N\ \leq\ 300 $
- $ 1\ \leq\ a_i\ \leq\ 3 $
### Sample Explanation 1
$ 1 $ 個目の寿司を食べるまでの操作回数の期待値は $ 1 $ です。 その後、$ 2 $ 個目の寿司を食べるまでの操作回数の期待値は $ 1.5 $ です。 その後、$ 3 $ 個目の寿司を食べるまでの操作回数の期待値は $ 3 $ です。 よって、全体の操作回数の期待値は $ 1\ +\ 1.5\ +\ 3\ =\ 5.5 $ です。
### Sample Explanation 2
例えば、`3.00`, `3.000000003`, `2.999999997` などを出力しても正解となります。