atcoder#AGC020F. [AGC020F] Arcs on a Circle

    ID: 19366 传统题 5000ms 512MiB 尝试: 2 已通过: 0 难度: 7 上传者: 标签>动态规划杂项离散化算法基础枚举dp

[AGC020F] Arcs on a Circle

分数:21002100

问题描述

你有一个长度为 CC 的圆圈,你要在上面放置 NN 个弧。弧 ii 的长度为 LiL_i

每个弧 ii 都是在圆圈上均匀随机放置的:首先选择圆圈上的一个随机实数点,然后在这个点上出现长度为 LiL_i 的弧。

注意,弧的放置是独立的。例如,它们可能会相交或包含彼此。

求圆圈上每一个实数点都被至少一个弧覆盖的概率。假设弧覆盖其端点。

约束条件

  • 2N62 \leq N \leq 6
  • 2C502 \leq C \leq 50
  • 1Li<C1 \leq L_i < C
  • 所有输入值均为整数。

输入

输入格式如下:

NN CC

L1L_1 L2L_2 ...... LNL_N

输出

输出每一个实数点都被至少一个弧覆盖的概率。如果你的答案的绝对误差不超过 101110^{-11},则被认为是正确的。

2 3
2 2
0.3333333333333333

两个弧的中心必须至少相隔 11。在长度为 33 的圆圈上,这种情况的概率为 1/31 / 3

4 10
1 2 3 4
0.0000000000000000

尽管弧的总长度恰好是 CC,并且可能每一个实数点都被至少一个弧覆盖,但这种事件的概率为 00

4 2
1 1 1 1
0.5000000000000000
3 5
2 2 4
0.4000000000000000
4 6
4 1 3 2
0.3148148148148148
6 49
22 13 27 8 2 19
0.2832340720702695