2011-11-24 45 views
1

N人蔘加比賽由很多回合組成。 在一輪中,M人可以參加比賽。我們只記錄他們的等級,不記錄他們的分數。 我們需要確定K個最快人選的最低迴合數是多少? 這似乎是一個經典問題。如果你知道,請告訴我。謝謝!比賽決定排名

+0

你能更徹底地定義這個問題嗎?例如,在接下來的幾輪中確定參賽者的條件是什麼? – Xophmeister

+4

是的,在這裏要求其他人做你的功課是一個經典問題。 – Filburt

+0

如果M等於2,則有一個簡單的排序算法。剩下的(M> 2)作爲練習留給讀者。 –

回答

1

R*表示R的最佳值,即使用的回合數。很容易證明,如果N=K*MM=K*K然後R* = K+1。示例:K=7, M=49, N=341:運行帶有非重疊組的輪次K=7K是可觸及每個項目的最小回合數,但對於任何給定項目,回合數不能證明它是或不在頂部K.因此R* > KN=K^3M=K^2的情況。現在再運行一輪,每輪前7名選出本輪的前7名。

我不知道作爲一個「典型問題」所陳述的問題,並認爲我的例子說明這個問題是從分類型爲O(n LN n)的複雜性問題不同,並與median or tournament algorithmsselection algorithms更一致。當然,彙集測試和稱量算法有大量文獻,解決這些問題的一些推理適用於此,但其具體方法卻不適用。

+0

這只是一個特殊的(微不足道的)角落案例 –