#P16044. [ICPC 2022 NAC] Double Sort

[ICPC 2022 NAC] Double Sort

题目描述

给定两个整数 nnmmnmn \le m),按照以下步骤生成一个包含 nn 个整数的序列:

  1. 首先,从 11mm(包含两端)中选出 nn 个互不相同的整数。
  2. 将这些数按非降序排序。
  3. 计算差分序列,即将序列 a1,a2,a3,a_1, a_2, a_3, \dots 变换为 a1,a2a1,a3a2,a_1, a_2 - a_1, a_3 - a_2, \dots
  4. 将差分序列按非降序排序。
  5. 对排序后的差分序列求前缀和,得到最终序列。即将序列 b1,b2,b3,b_1, b_2, b_3, \dots 变换为 b1,b2+b1,b3+b2+b1,b_1, b_2 + b_1, b_3 + b_2 + b_1, \dots

例如,当 n=3n = 3m=10m = 10 时:

  1. 假设初始选出的数为 6,2,96, 2, 9
  2. 排序后序列为 2,6,92, 6, 9
  3. 差分序列为 2,4,32, 4, 3
  4. 排序后的差分序列为 2,3,42, 3, 4
  5. 排序后差分序列的前缀和为 2,5,92, 5, 9

假设在第 1 步中,你从 [1,m][1, m] 中均匀随机地选取一组互不相同的整数。请计算最终序列中每个位置的期望值。

输入格式

输入只有一行,包含两个整数 nn1n501 \le n \le 50)和 mmnm10,000n \le m \le 10,000),其中 nn 是序列的长度,且初始选出的所有整数都在 11mm 之间。

输出格式

输出 nn 行,每行一个实数,表示最终序列中对应位置的期望值。每个答案的绝对误差或相对误差不超过 10610^{-6} 即视为正确。

3 5
1
2.3
4.5