📜  拼图|单淘汰赛

📅  最后修改于: 2021-05-24 16:51:00             🧑  作者: Mango

在单项淘汰赛中,例如网球大满贯锦标赛,每个失败的球员都会立即从随后的回合中淘汰,直到确定一名球员为止。如果比赛开始时有N位玩家,请回答以下问题。

  1. 赢得冠军所需的比赛总数是多少?
  2. 这样的比赛有几轮?
  3. 根据锦标赛产生的信息,还需要进行多少场比赛才能确定第二名的选手?

解决方案

  1. 由于我们在每场比赛中都淘汰一名球员,因此只有一名获胜者。然后,总共需要淘汰N-1名球员。因此,需要N-1场比赛才能获得冠军。从数学上来说,如果有N个玩家,那么我们在第一轮将有N / 2场比赛,在第二轮将有N / 4场比赛,依此类推,直到最后一轮有1场比赛。因此,匹配的总数只是几何级数的总和,其中项N / 2,N / 4直到1

    设总人数为N的球员,然后是获得获胜者的比赛总数:

  2. 如果N为2的幂,则锦标赛的总回合数为2 N ,因为在每一回合中有一半的玩家被淘汰,直到只剩下一名玩家。如果N不是2的幂,则回合数是2的最小幂,即大于或等于N,等于ceil(log 2 N)
  3. 次佳的玩家可以是输给获胜者的任何玩家,而没有其他玩家。可以使这些玩家玩自己的单场淘汰赛。由于获胜者将出现在锦标赛的所有回合中,因此总的来说,他们将是ceil(log 2 N)个玩家争夺第二名。由于对于N个球员锦标赛,要进行N-1场比赛来找出获胜者,因此, ceil(log 2 N)–需要1场比赛来确定竞争者中的获胜者,这将是我们的第二佳玩家。