N人参加由多轮比赛组成的比赛。 在一轮比赛中,M人可以参加比赛。我们只记录他们的排名而不记录他们的分数。 我们需要确定K最快人数的最小轮数是多少? 这似乎是一个经典问题。如果你知道,请告诉我。谢谢!
答案 0 :(得分:1)
让R*
表示R的最佳值,即使用的轮数。如果N=K*M
和M=K*K
然后R* = K+1
,则很容易显示。示例:K=7, M=49, N=341
:使用不重叠的组运行K=7
轮。 K
是可触及每个项目的最小轮数,但对于任何给定项目,该轮数无法证明它是或不在顶部K.因此R* > K
为N=K^3
和M=K^2
案例。现在再进行一轮,前几轮中的前7项,并选择本轮前7名。
我不知道所说的问题是一个“经典问题”,并认为我的例子说明问题不同于排序类型O(n ln n)复杂性问题,并且与{{3}更加一致}或median or tournament algorithms。当然,有大量关于汇总测试和称重算法的文献,解决这些问题的一些推理适用于此,但他们的具体方法却没有。