当前位置: 首页 > article >正文

赛道快马问题

今天遇到一个比较有趣的面试题

        25匹马,5个赛道,选出最快的三匹马(无计时器,每个赛道仅能容一匹马通行)

思路是这样的:

1、25匹马,分为 A-E 五组,进行5场比试

2、将每场最快的马列出来,分别冠以 A1、B1、C1、D1、E1,剩下的按照次序进行分列:即第二名组 A2、B2、C2...,第五名组 A5、B5、C5... E5

3、将2中决策出来的最快的5匹马,A1-E1 进行1场比试,则最快的马已经决策出来,假设是A1

4、接下来选择第二名和第三名,若 A1-E1 按照速度最快的进行排序,即 A1 快于 B1,B1 快于 C1,C1 快于 D1,D1 快于 E1,即对于 A-E 组,所有的 Ax > Bx > Cx > Dx > Ex

5、有这样一种情况,无法得知 A 组的第二名 A2 是否跑的比 B 组的第一名 B1 还要快(刚好,假设 A 组存在这5匹马都远快于其他组,虽然 A2 位于第二名组,但是比第一名组中的 B1 还要快),因此需要选择 A2,B1决策第二名

6、同样的道理,选择第三名时,无法得知,A3 是否快于 B1,或 B2 是否快于C1,因此第三名决策可以将 A3、B2、C1

7、结合 6&7,可以用一场比试决策出第二和第三名。

因此仅需要 5 + 1 + 1 = 7 即可决策出前三名。

拓展一下思路,如果是前五名呢?

1、25匹马,分为 A-E 五组,进行5场比试

2、将每场最快的马列出来,分别冠以 A1、B1、C1、D1、E1,剩下的按照次序进行分列:即第二名组 A2、B2、C2...,第五名组 A5、B5、C5... E5

3、将2中决策出来的最快的5匹马,A1-E1 进行1场比试,则最快的马已经决策出来,假设是A1

4、接下来选择第二名和第三名,若 A1-E1 按照速度最快的进行排序,即 A1 快于 B1,B1 快于 C1,C1 快于 D1,D1 快于 E1,即对于 A-E 组,所有的 Ax > Bx > Cx > Dx > Ex

到此刻,我们决策出,最快的马 A1,并且知道 所有的 Ax > Bx > Cx > Dx > Ex

那么求前五名,剩下四名,应该怎么选呢

假设:

        选 A2、A3、B1、B2、C1 按照选取前三名的方式选择

                可以决策出前三名,有以下几种情况

                A2、A3,分别为第二第三,则可以确定,第四名B1(确定),第五名在B2/C1中(确定)

                A2、B1,分别为第二第三,则可以确定,第四名 A3/B2/C1,第五名的概率...

                B1、A2,分别为第二第三,第四名 A3/B2/C1,第五名的概率...

                B1、B2,分别为第二第三,第四名在 A2/B3/C1,第五名的概率...

                B1、C1,分别为第二第三,第四名在 A2/B2/C2/D1

                因此,此种方式,也不可选

        a. 考虑 A2、A3、A4、A5、B1 进行比拼

                此举最少决策出第2名(A2/B1),第三名 A3/A4/A5/B1

        b. 从 A2、A3、A4、B2、C1 进行比拼

                此举最少决策出第3名(A2/B2/C1)

        ...罗列不出来了。使用新方法

1、首先5场,必须分5组,A1-A5,B1-B5,... E1-E5

2、选第一名,需要 A1/B1/C1/D1/E1,A1最快决策出来

3、选第二名,此时我们知道目前最快的两匹马是 A2/B1

4、在A2为第二名的前提下,第三名可能是 A3/B1

     在B1为第二名的前提下,第三名可能是 A2/B2/C1

        也就是说,第七次决策,可以稳定出前三:需要 A2/A3/B1/B2/C1,照着这个思路

5、A2为第二名,A3为第三名,第四名可能是 A4/B1

     A2为第二名,B1为第三名,第四名可能是 A3/B2/C1

     B1为第二名,A2为第三名,第四名可能是 A3/B2/C1

    B1为第二名,B2为第三名,第四名可能是 A2/B3/C1

     B1为第二名,C1为第三名,第四名可能是 A2/C2/D1

        综合看,第八次决策,A2为第二名情况下,新增 A4;B1为第二名的情况下,新增B3、D1

6、那么去除第七次决策必出的A2,B1后,求第四第五。在A3/B2/C1/A4/B3/D1六匹马中决策,最少需要2次。

        因此共计 5 + 1 + 1 + 1 + 2 = 10


http://www.kler.cn/a/274130.html

相关文章:

  • 最新的强大的文生视频模型Pyramid Flow 论文阅读及复现
  • 数据结构之线性表之顺序表
  • 【西安电子科技大学考研】25官方复试专业课参考书目汇总
  • openwrt 负载均衡方法 openwrt负载均衡本地源接口
  • 水电站视频智能监控系统方案设计与技术应用方案
  • 重温设计模式--2、设计模式七大原则
  • 香港科技大学广州|智能制造学域博士招生宣讲会—同济大学专场
  • 基于单片机的模糊PID炉温控制系统设计
  • bios开启secure boot选项,进行pxe安装操作系统时报错,求解决办法
  • 海外代理IP在跨境电商中的五大应用场景
  • 【晴问算法】提高篇—动态规划专题—斐波那契数列II
  • NSGA-III算法:如何在多目标优化问题中找到最合适的解
  • Echo服务器学习__01(基础)
  • CSS学习(2)-盒子模型
  • 设计模式在芯片验证中的应用——装饰器
  • 鸿蒙开发入门教程—瀑布流的实战案例
  • v-model的基本使用,v-model原理;v-model绑定;v-model的值绑定;v-model修饰符
  • 开发K8S Operator
  • Flink实时写Hudi报NumberFormatException异常
  • c语言(数据在内存中的存储)
  • EI期刊复现:面向配电网韧性提升的移动储能预布局与动态调度策略程序代码!
  • Element UI +Vue页面生成二维码的方法
  • Javascript抓取京东、淘宝商品数据(商品采集商品详情图片抓取)
  • AI检测识别技术,为智能化视频生产赋能
  • bootstrap精选模板tabler下载
  • 数据分析-Pandas序列滑动窗口配置参数