SPOJ - 好斗的奶牛,"largest minimum distance" 术语是什么意思?

SPOJ - Aggressive cows, what is the meaning of "largest minimum distance" terminology?

我正在尝试了解 Spoj 中 AGGRCOW - Aggressive cows 的问题。但是这个输出是怎么来的,我不明白。首先我想也许他们之间的距离就像这个输入一样:

Input:
5 3 
1 2 4 8 9

Ouput: 3

首先我们把 cow1 放在位置 arr[0],然后我们把 cow2 放在 arr[2]。我们不将 cow2 放在 arr1 中,因为这样它们之间就没有距离 (2-1=1)。 cow2 和 cow1 的距离现在是 3 个单位。所以为此我们将 cow2 放在 arr[2] 中。最后我们把 cow3 放在 arr[3] 中,因为 cow3 和 cow2 之间的距离在这里是 4。然后我们比较这个 3<4。这输出 3.

但是当我尝试对这个输入应用相同的逻辑时:

Input:
6 3 
2 3 4 5 8 9

Ouput: 3

按我的逻辑应该是2。如果我们把cow1放在arr[0],cow2放在arr[2],那么距离就是4-2=2。这是最低限度的。但是当我想通过谷歌搜索查看实际值时,我发现它是 3。我不明白它是 3。为什么不是 2?我只想要这个问题的解释,而不是代码。

在 6 3, 2 3 4 5 8 9 的情况下,奶牛可以放在 2、5 和 8 中,产生最小距离 3。这是比 2 更大的最小值,所以 2 不是尽可能大的最小值。

问题是给你N个档位,a0aN-1。您必须填写其中的 C,但填写的摊位编号之间的间隔尽可能大。输出是由所有填充的隔间完成的分离。也就是说,如果你输出 3,这意味着你的解决方案是 "I can fill in the stalls so that the distance between any two filled stalls is at least 3".

如果您考虑一下,您实际上是在查看任意两个已满摊位之间的最小距离,并且您正在尝试最大化它,而不影响与任何其他已满摊位的距离。因此:最大最小距离。

输入的形式

N C
a0 a1 ... aN-2 aN-1

第二个例子是

6 3 
2 3 4 5 8 9

意味着有 6 个摊位:2、3、4、5、8 和 9,其中三个需要填充,以保持摊位编号之间的最大间隔。

最佳方案是使用2号、5号、9号档。那么间隔为5-2 = 3,9-5 = 4,结果是其中最小的3。

To prevent the cows from hurting each other, FJ wants to assign the cows to the stalls, such that the minimum distance between any two of them is as large as possible.

FJ 必须让奶牛 彼此之间的距离尽可能远 - 该设置中两个 cows/stall 位置之间的距离是最大的最小距离。

在给定的牛栏位置和给定的奶牛数量中,您必须选择牛栏位置,以使所有奶牛都被安置在彼此距离最远的牛栏中(最小距离是两个牛栏之间的距离)您分配给定奶牛的摊位位置)。该设置中最近的两个摊位之间的距离是最大的最小距离。