[AGC007C] Pushing Balls

题意翻译

在一条直线上有 $N$ 个球和 $N+1$ 个洞。记每个球与相邻的洞的距离为 $d_i \left( 1 \leq i \leq 2 \times N \right)$ 且 $d_{i + 1} - d_i = x$。 要将 $N$ 个球均推入洞中。当球滚过洞时,如果洞中还没有球,球将掉入洞中。否则,球将继续滚动。 每次会随机选择任一未进洞的球,并随机选择一个方向推球。 给定 $N, d_1, x$ ,求出在不发生碰撞的情况下,每个球移动距离的期望(误差小于 $10^{-9}$)。

题目描述

[problemUrl]: https://atcoder.jp/contests/agc007/tasks/agc007_c $ N $ 個の球と $ N+1 $ 個の穴が一直線上に並んでいます。球には左から順に $ 1 $ から $ N $ の番号が、穴には左から順に $ 1 $ から $ N+1 $ の番号が振られています。$ i $ 番の球は $ i $ 番の穴と $ i+1 $ 番の穴の間に置かれており、隣り合う穴と球の間の距離を左から順に並べて得られる数列を $ d_i $ ($ 1\ \leq\ i\ \leq\ 2\ \times\ N $) とおきます。$ d_1 $ の値とパラメータ $ x $ が与えられており、$ d_i\ -\ d_{i-1}\ =\ x $ が任意の $ i $ ($ 2\ \leq\ i\ \leq\ 2\ \times\ N $) に対して成り立っています。 これら $ N $ 個の球を $ 1 $ 個ずつ転がし、穴に落としていくことを考えます。球が穴の上を通ると、その穴にすでに別の球が入っていなければその穴に落ちます。すでに別の球がその穴に入っていた場合は、球は落ちずにそのまま転がり続けます。(なお、この問題で考える球の転がし方において、球どうしが衝突することはありません。) 球を転がす際は、まだ転がされていない球の中から等確率で $ 1 $ つを選び、その球を左または右に等確率で転がします。これを $ N $ 回繰り返してすべての球を転がすとき、すべての球が移動する距離の総和の期待値を求めてください。 以下に $ N\ =\ 3 $, $ d_1\ =\ 1 $, $ x\ =\ 1 $ の場合の球の転がし方の例を挙げます。 ![c9264131788434ac062635a675a785e3.jpg](https://cdn.luogu.com.cn/upload/vjudge_pic/AT_agc007_c/60a5d5d029df9794870209eb9c921ace7bb48177.png) 1. $ 2 $ 番の球を左に転がす。球は $ 2 $ 番の穴に落ちる。球が移動する距離は $ 3 $ である。 2. $ 1 $ 番の球を右に転がす。球は $ 2 $ 番の穴の上を通り、$ 3 $ 番の穴に落ちる。球が移動する距離は $ 9 $ である。 3. $ 3 $ 番の球を右に転がす。球は $ 4 $ 番の穴に落ちる。球が移動する距離は $ 6 $ である。 この例では、球が移動する距離の総和は $ 18 $ となります。 なお、球をどのように転がしてもどの球も必ずいずれかの穴に落ち、最後に穴が一つだけ空のまま残ることになります。

输入输出格式

输入格式


入力は以下の形式で標準入力から与えられる。 > $ N $ $ d_1 $ $ x $

输出格式


答えを小数で出力せよ。絶対誤差または相対誤差のいずれかが $ 10^{-9} $ 以内でなければならない。

输入输出样例

输入样例 #1

1 3 3

输出样例 #1

4.500000000000000

输入样例 #2

2 1 0

输出样例 #2

2.500000000000000

输入样例 #3

1000 100 100

输出样例 #3

649620280.957660079002380

说明

### 制約 - $ 1\ \leq\ N\ \leq\ 200,000 $ - $ 1\ \leq\ d_1\ \leq\ 100 $ - $ 0\ \leq\ x\ \leq\ 100 $ - 入力値はすべて整数である。 ### Sample Explanation 1 球が $ 1 $ 個、穴が $ 2 $ 個あります。球から左の穴までの距離は $ 3 $ 、球から右の穴までの距離は $ 6 $ です。球を左に転がすか右に転がすかの $ 2 $ 通りの転がし方があり、それぞれにおいて球が移動する距離は $ 3,\ 6 $ です。したがって、答えは $ (3+6)/2\ =\ 4.5 $ となります。