zoukankan      html  css  js  c++  java
  • 面试常考题 浅谈 赛马问题

    题目

    一共有25匹马,有一个赛场,赛场有5个赛道,就是说最多同时可以有5匹马一起比赛。假设每匹马都跑的很稳定,不用任何其他工具,只通过马与马之间的比赛,试问,最少得比多少场才能知道跑得最快的5匹马?

    思考

    朴素想法

    最朴素的想法,就是

    1. 分为5组 组内跑一次
    2. 5个组的组内第一 跑一次
    3. 然后接下来就跟优先队列一样,每次跑之前被挑出去的组的后一个

    所以这样的想法就是 5(组内跑)+5(一次能跑出一个top1) 10 次

    优化思想

    假设我们现在已经跑完top3了,假设top3是 (A1, A2, A3)
    那么还剩 这5个可能是 top4 和 top5

    A4, A5
    B1 B2
    C1
    

    所以 最后 top4和top5一次就能跑完

    所以 我能想到的就是 9次 跑出来top5

    欢迎参与讨论

  • 相关阅读:
    ARC081F Flip and Rectangles
    LCA
    Tarjan
    2020牛客暑期多校六
    状压DP
    操作系统
    JAVA期末复习
    D. Yet Another Yet Another Task (区间最值)
    构造
    Codeforces Round #641 (Div. 2)
  • 原文地址:https://www.cnblogs.com/Draymonder/p/11485734.html
Copyright © 2011-2022 走看看