d
(从 0
到 d
),以及两个点 s
和 e
,它们之间不能放置任何其他点(在 s
和 e
上放置点是可以的,但不能在它们之间放置点)。
放置 n
个点,使得每个点之间的距离尽可能大(尽量平均地分布)。
输出两点之间的最小距离。
图形表示,在黑线上放置 n
个点(这是一条一维线),使得每两个点之间的最小距离尽可能大(允许绝对误差高达 10^(-4)
)。
例子:
- d=7, n=2, s=6, e=7, 输出为: 7.0000000000
- d=5, n=3, s=5, e=5, 输出为: 2.5000000006
- d=3, n=3, s=0, e=1, 输出为: 1.5000000007
- d=9, n=10, s=5, e=6, 输出为: 1.0000000001
- d=6, n=2, s=1, e=6, 输出为: 6.0000000000
- d=5, n=3, s=4, e=5, 输出为: 2.5000000006
我的方法:
我尝试分别查看间隔,将点(理想分布,lengthOfInterval
/n
)分布在第一个和第二个间隔(从 0
到 s
和从 e
到 d
),并检查所有点数总和为 n
的分布,我会存储一个(分布,最大最小距离)对,并选择具有最大最小距离的对。我不知道如何处理 10^(-4)
的容差(这部分代码应该如何实现?),也不确定我的方法是否正确。欢迎提出任何建议。
我卡在这个问题上了:/