【Google】25匹马的角逐

2023-05-16

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

 

注意: "假设每匹马都跑的很稳定" 的意思是在上一场比赛中A马比B马快,则下一场比赛中A马依然比B马快。

 

稍微想一下,可以采用一种 竞标赛排序(Tournament Sort)的思路。 见《选择排序 》

 

(1) 首先将25匹马分成5组,并分别进行5场比赛之后得到的名次排列如下:

              A组:  [A1  A2  A3   A4  A5]

              B组:  [B1  B2  B3   B4  B5]

              C组:  [C1  C2  C3  C4  C5]

              D组:  [D1  D2  D3  D4  D5]

              E组:  [E1  E2  E3   E4  E5]

      其中,每个小组最快的马为[A1、B1、C1、D1、E1]。

(2) 将[A1、B1、C1、D1、E1]进行第6场,选出第1名的马,不妨设 A1>B1>C1>D1>E1. 此时第1名的马为A1。

(3) 将[A2、B1、C1、D1、E1]进行第7场,此时选择出来的必定是第2名的马,不妨假设为B1。因为这5匹马是除去A1之外每个小组当前最快的马。

(3) 进行第8场,选择[A2、B2、C1、D1、E1]角逐出第3名的马。

(4) 依次类推,第9,10场可以分别决出第4,5名的吗。

 

因此,依照这种竞标赛排序思想,需要10场比赛是一定可以取出前5名的。

 

 

仔细想一下,如果需要减少比赛场次,就一定需要在某一次比赛中同时决出2个名次,而且每一场比赛之后,有一些不可能进入前5名的马可以提前出局。 当然要做到这一点,就必须小心选择每一场比赛的马匹。我们在上面的方法基础上进一步思考这个问题,希望能够得到解决。

 

(1) 首先利用5场比赛角逐出每个小组的排名次序是绝对必要的。

(2) 第6场比赛选出第1名的马也是必不可少的。假如仍然是A1马(A1>B1>C1>D1>E1)。那么此时我们可以得到一个重要的结论:有一些马在前6场比赛之后就决定出局的命运了(下面绿色字体标志出局)。

       A组:  [A1  A2  A3   A4  A5]

       B组:  [B1  B2  B3   B4  B5 ]

       C组:  [C1  C2  C3  C4  C5 ]

       D组:  [D1  D2  D3  D4  D5 ]

       E组:  [E1  E2  E3   E4  E5 ]

(3) 第7场比赛是关键,能否同时决出第2,3名的马呢?我们首先做下分析:

     在上面的方法中,第7场比赛[A2、B1、C1、D1、E1]是为了决定第2名的马。但是在第6场比赛中我们已经得到(B1>C1>D1>E1),试问?有B1在的比赛,C1、D1、E1还有可能争夺第2名吗? 当然不可能,也就是说第2名只能在A2、B1中出现。实际上只需要2条跑道就可以决出第2名,剩下C1、D1、E1的3条跑道都只能用来凑热闹的吗?

     能够优化的关键出来了,我们是否能够通过剩下的3个跑道来决出第3名呢?当然可以,我们来进一步分析第3名的情况?

     ● 如果A2>B1(即第2名为A2),那么根据第6场比赛中的(B1>C1>D1>E1)。 可以断定第3名只能在A3和B1中产生。

     ● 如果B1>A2(即第2名为B1),那么可以断定的第3名只能在A2, B2,C1 中产生。

     好了,结论也出来了,只要我们把[A2、B1、A3、B2、C1]作为第7场比赛的马,那么这场比赛的第2,3名一定是整个25匹马中的第2,3名。

     我们在这里列举出第7场的2,3名次的所有可能情况:

     ①  第2名=A2,第3名=A3

     ②  第2名=A2,第3名=B1

     ③  第2名=B1,第3名=A2

     ④  第2名=B1,第3名=B2

     ⑤  第2名=B1,第3名=C1

 

(4)  第8场比赛很复杂,我们要根据第7场的所有可能的比赛情况进行分析。

      ①  第2名=A2,第3名=A3。那么此种情况下第4名只能在A4和B1中产生。

           ● 如果第4名=A4,那么第5名只能在A5、B1中产生。

           ● 如果第4名=B1,那么第5名只能在A4、B2、C1中产生。

           不管结果如何,此种情况下,第4、5名都可以在第8场比赛中决出。其中比赛马匹为[A4、A5、B1、B2、C1]

      ②  第2名=A2,第3名=B1。那么此种情况下第4名只能在A3、B2、C1中产生。

           ● 如果第4名=A3,那么第5名只能在A4、B2、C1中产生。

           ● 如果第4名=B2,那么第5名只能在A3、B3、C1中产生。

           ● 如果第4名=C1,那么第5名只能在A3、B2、C2、D1中产生。

           那么,第4、5名需要在马匹[A3、B2、B3、C1、A4、C2、D1]七匹马中产生,则必须比赛两场才行,也就是到第9场角逐出全部的前5名。

      ③  第2名=B1,第3名=A2。那么此种情况下第4名只能在A3、B2、C1中产生。

           情况和②一样,必须角逐第9场

      ④  第2名=B1,第3名=B2。 那么此种情况下第4名只能在A2、B3、C1中产生。

           ● 如果第4名=A2,那么第5名只能在A3、B3、C1中产生。

           ● 如果第4名=B3,那么第5名只能在A2、B4、C1中产生。

           ● 如果第4名=C1,那么第5名只能在A2、B3、C2、D1中产生。

            那么,第4、5名需要在马匹[A2、B3、B4、C1、A3、C2、D1]七匹马中产 生,则必须比赛两场才行,也就是到第9场角逐出全部的前5名。

        ⑤  第2名=B1,第3名=C1。那么此种情况下第4名只能在A2、B2、C2、D1中产生。

            ● 如果第4名=A2,那么第5名只能在A3、B2、C2、D1中产生。

            ● 如果第4名=B2,那么第5名只能在A2、B3、C2、D1中产生。

            ● 如果第4名=C2,那么第5名只能在A2、B2、C3、D1中产生。

            ● 如果第4名=D1,那么第5名只能在A2、B2、C2、D2、E2中产生。

             那么,第4、5名需要在马匹[A2、B2、C2、D1、A3、B3、C3、D2、E1]九匹马中 产 生,因此也必须比赛两场,也就是到第9长决出胜负。

 

 

总结:最好情况可以在第8场角逐出前5名,最差也可以在第9场搞定。

来自http://hxraid.iteye.com/blog/662643

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Google】25匹马的角逐 的相关文章

  • 2018 web渗透教程(150节课左右持续更新中)11月5号更新

    原文博客地址 xff1a http www superzedlv cn id 61 17 讲 师 xff1a SuperZed Q Q xff1a 2732663467 博客地址 xff1a http www superzedlv cn 微
  • 四旋翼飞行器Quadrotor飞控之 PID调节(参考APM程序)

    做四轴也有一段时间了 xff0c 最近一直在做PID 方面的工作 现在四轴基本可以 实现室内比较稳定的飞行 xff0c 操控手感也可以接受 稍后上试飞视频 在此把一些PID 方面的经验 总结总结和大家分享一下 首先介绍一下大概的硬件组成 x
  • Mavlink协议理解Pixhawk APM(一)

    有问题请回复评论 xff0c 然后邮箱提醒我回复 xff0c 550746284 64 qq com 私信不回 本系列博客共三篇 xff0c 这是第一篇 之前看了mavlink协议 xff0c 网上关于mavlink的资料不多 本文大概总结
  • Mavlink协议理解Pixhawk APM(二)

    本文是第二篇博客 xff0c 本系列博客共三篇 本文介绍mavlink里消息的种类和如何看懂开始时提到的那个官方的mavlink消息介绍https pixhawk ethz ch mavlink 有问题请回复评论 xff0c 然后邮箱提醒我
  • SqlServer数据库导入Excel数据:openrowset

    导入代码 xff1a declare 64 sql nvarchar 2000 declare 64 f excel varchar 100 set 64 f excel 61 39 导入文件名称 xlsx 39 IF EXISTS SEL
  • 安装ROS, 初始化时rosdep update出错解决办法

    背景 xff1a ubuntu上安装ROS xff0c 不管是在ubuntu16 04上装kinetic xff0c 还是在18 04上装melodic xff0c 安装完毕后 xff0c 进行初始化时 xff0c 反复失败 xff0c 试
  • Intel RealSense D435介绍、安装和使用

    实验室采购的三个Intel RealSense相机到了 xff0c 分别是D435 R200和blasterx senz3d xff0c 都试了一下 xff0c 除了适用的最佳距离范围不同 xff0c 其它功能大致相同 xff0c 用SDK
  • 配置适用于HoloLens开发的unity工程

  • HoloLens世界锚资料

    1 Unity 中的本地定位点传输 xff1a Unity 中的本地定位点传输 Mixed Reality Microsoft Docs https docs microsoft com zh cn windows mixed realit
  • HoloLens 2 之 Unity 开发基础入门指南

    研发实战 xff1a HoloLens 2 之 Unity 开发基础入门指南 知乎 查看 引用 信息源请点击 xff1a 映维网关于混合现实基础入门的指南 xff08 中文版 xff09 xff08 映维网 2021年03月15日 xff0
  • PCL学习资料

    01 代码学习博主 xff1a PCL读取PCD文件的数据 慕尘 博客园 1 pcd文件 rabbit pcd 链接 xff1a https pan baidu com s 1v6mjPjwd7fIqUSjlIGTIGQ 提取码 xff1a
  • obj文件格式与.mtl文件格式

    1 OBJ 是一种 3D模型文件 xff0c 因此不包含动画 材质特性 贴图路径 动力学 粒子等信息 但是可以读取 mtl 文件来获得材质信息 2 OBJ 文件使用 关键字根据数据类型排列 xff0c 每个关键字有一段简短描述 顶点数据 V
  • opencv_aruco

    文章参考 xff1a ArUco 木筏筏筏的博客 CSDN博客 aruco 1 01 显示识别mark cpp include lt opencv2 highgui hpp gt include lt opencv2 aruco hpp g
  • 详细图解,卷帘快门(Rolling Shutter)与全局快门(Global Shutter)的区别

    博客园 xff1a https www cnblogs com baiduboy p 14234884 html
  • ORB角点检测--快速近似最近邻(FLANN)匹配--c++

    描述子匹配 图像特征检测首先会获取关键点 xff0c 然后根据关键点周围像素ROI区域的大小 xff0c 生成描述子 xff0c 完整的描述子向量就表示了一张图像的特征 xff0c 是图像特征数据 xff0c 这种方式也被称为图像特征工程
  • 二进制信号量,互斥信号和计数信号量的区别

    VxWorks的信号量机制分析 VxWorks信号量是提供任务间通信 同步和互斥的最优选择 xff0c 提供任务间最快速的通信 也是提供任务间同步和互斥的主要手段 VxWorks提供3种信号量来解决不同的问题 二进制信号量 xff1a 最快
  • WiFi智能开关方案

    伴随着物联网的蓬勃发展 xff0c 智能家居成为备受瞩目的新兴领域 xff0c 越来越多的智能产品进入消费市场并受到了广大用户的青睐 xff0c 用于控制设备状态的传统机械开关也面临智能化升级 市面上出现了各种各样的智能开关 xff0c 以
  • VNect: Real-time 3D Human Pose Estimation with a Single RGB Camera

    采用了两个CNN 第一个是卷积神经网络 CNN xff0c 在残缺的单目捕捉条件下返回二维和三维关节位置 xff1b 这是基于标记的3D人体数据集以及补充的2D人体姿态数据集训练的 xff0c 提升了捕捉性能 xff1b 第二部分结合回归的
  • 系统异常SVC与PendSV指令及CM3 处理器内部寄存器分析

    参考文献 1 野火 uCOS III 内核实现与应用开发实战指南 基于STM32 xff1b 2 CM3 权威指南CnR2 xff08 电子版 xff09 Cortex M3 权威指南 Joseph Yiu 著 宋岩 译 xff1b 两个指
  • RTOS任务调度思想汇总_2(任务时间管理)

    1 任务是独立的 xff0c 并且初始化后进入死循环 格式像主函数 xff1b 2 任务的任务控制块 xff1a 首先要定义每个任务的任务控制块变量 xff0c 任务控制块只是一个数据类型 数据结构 xff0c 其数据结构定义的元素有任务堆

随机推荐

  • C++类与对象之静态成员和静态成员函数

    C 43 43 面向对象编程中 xff0c 静态成员也是较为重要的 C 43 43 的变量存储区除了堆区和栈区之外 xff0c 还存在静态存储区 xff0c 用于存放static静态变量 xff0c 全局变量以及常量 xff0c 生命周期是
  • MC9S12G128模块化分层化软件架构之七_外部中断

    文章目录 内容 1 overview 1 1 目的 2 优化内容 2 1 软件功能 2 2 编程健壮性 3 软件实现 3 1 Coding Rule 3 2 中断基础知识 3 2 1 mc9s12g128的中断向量号 3 2 2 mc9s1
  • 从期望到蒙特卡洛再到抽样(MCMC学习和梳理)

    文章目录 怎么计算期望用蒙特卡洛方法计算期望 xff08 积分 xff09 无法使用蒙特卡洛计算积分的情况 无法采样接受 拒绝采样重要性采样MCMCMetropolis Hasting算法实现 Reference 近期在学习MCMC Mar
  • python3中替换python2中cmp函数的新函数分析(lt、le、eq、ne、ge、gt)

    本文地址 xff1a http blog csdn net sushengmiyan article details 11332589 作者 xff1a sushengmiyan 在python2中我们经常会使用cmp函数来比较一些东西 x
  • Eclipse中查看没有源码的Class文件的方法

    本文地址 http blog csdn net sushengmiyan article details 18798473 本文作者 sushengmiyan 我们在使用Eclipse的时候 xff0c 经常是会使用别人的Jar包 xff0
  • [ExtJS5学习笔记]第二节 Sencha Cmd 学习笔记 使你的sencha cmd跑起来

    本文地址 xff1a http blog csdn net sushengmiyan article details 38313537 本文作者 xff1a sushengmiyan 资源链接 翻译来源 Sencha Cmd官方网站 xff
  • 【Java二十周年】Delphi转行java的一些小感触

    本文纯属一届小码农对java使用过程的体验感触 目录 xff1a 初遇java编程语言与java的擦肩深入java 跨平台性开源支持web的支撑 初遇java编程语言 刚上大学的时候 xff0c 完全是个电脑盲 刚入学学的计算机普及知识就是
  • Vmware-虚拟中的linux如何增加硬盘(转)

    启动虚拟机软件VMware后 xff0c 点机VM菜单选择Setting xff0c 然后在弹出地菜单中选择 xff1a Add命令进行添加硬盘操作 完成后启动虚拟机 1 建立分区 fdisk l查看磁盘分区情况 此时你会发现多了一个 de
  • 给大家安利一个学习angular2的视频网站

    本文地址 xff1a http blog csdn net sushengmiyan 本文作者 xff1a 苏生米沿 视频地址 xff1a https egghead io courses angular 2 fundamentals 网站
  • 记一个万金油开源框架JHipster

    本文地址 xff1a http blog csdn net sushengmiyan article details 53190236 百搭代码生成框架 体验新技术汇总 xff1a Spring BootSpring SecurityAng
  • SQLServer触发器创建、删除、修改、查看...适用于级联删除

    一 触发器是一种特殊的存储过程 它不能被显式地调用 而是在往表中插入记录 更新记录或者删除记录时被自动地激活 所以触发器可以用来实现对表实施复杂的完整性约束 二 SQL Server为每个触发器都创建了两个专用表 Inserted表和Del
  • 工薪族巧理财之定期存款中整存整取、零存整取、存本取息之间的微妙区别

    银行的官方术语先给大家普及一下 xff1a 定期存款是在存款时约定存储时间 一次或按期分次 在约定存期 存入本金 xff0c 整笔或分期平均支取本金利息的一种储蓄 按存取方式定期存款分为整存整取定期存款 零存整取定期存款 存本取息定期存款
  • no module named win32com.client错误解决

    无论什么时候 xff0c 你在运行的时候发现有importError no module named win32com client这个提示 你都可以这么解决 xff1a 请下载http sourceforge net projects p
  • java.util.concurrent同步框架(AQS论文中文翻译)

    java util concurrent同步框架 摘要目录和主题描述一般条款关键字1 介绍 xff1a 需求设计实现4 使用方式5 性能6 结论7 致谢 Doug Lea SUNY Oswego Oswego NY 13126 dl 64
  • POJ2287 田忌赛马---贪心算法

    田忌赛马 题目详见http poj org problem id 61 2287 田忌赛马大家都听过 xff0c 可是如果不是上中下三等马 xff0c 而是很多匹马 xff0c 优劣有很多种分类 xff0c 就不仅仅是321的问题了 这个很
  • 贪心算法详解

    之前讲过动态规划DP xff0c 现在来说说贪心 贪心算法在解决问题的策略上目光短浅 xff0c 只根据当前已有的信息就做出选择 xff0c 而且一旦做出了选择 xff0c 不管将来有什么结果 xff0c 这个选择都不会改变 也就是说贪心对
  • 搜索智能提示suggestion,附近点搜索

    第三十六 三十七章 搜索智能提示suggestion xff0c 附近地点搜索 作者 xff1a July 致谢 xff1a caopengcs 胡果果 时间 xff1a 二零一三年九月七日 题记 写博的近三年 xff0c 整理了太多太多的
  • 多重继承及虚继承中对象内存的分布

    多重继承及虚继承中对象内存的分布 这篇文章主要讲解G 43 43 编译器中虚继承的对象内存分布问题 xff0c 从中也引出了dynamic cast和static cast本质区别 虚函数表的格式等一些大部分C 43 43 程序员都似是而非
  • Linux日志服务器配置

    配置日志服务器 环境 xff1a tibet xff1a 10 11 3 57 gaplinux xff08 日志服务器 xff09 xff1a 10 11 3 3 修改tibet上的 etc hosts xff0c 增加如下代码 xff1
  • 【Google】25匹马的角逐

    问题是这样的 xff1a 一共有25匹马 xff0c 有一个赛场 xff0c 赛场有5个赛道 xff0c 就是说最多同时可以有5匹马一起比赛 假设每匹马都跑的很稳定 xff0c 不用任何其他工具 xff0c 只通过马与马之间的比赛 xff0