【算法研究】25匹马赛跑,每次只能跑5匹马,最快能赛几次找出跑得最快的3匹马?赛跑不能计时,并假设每匹马的速度是恒定不变的。

答案是7次。

1. 首先将25匹马分成5组a、b、c、d、e进行比赛。比赛的次数就是5次。得到每组的第一名,分别编号a1,b1,c1,d1,e1。

2. 然后我们将每组的第一名进行比赛,得出结果。假设a1>b1>c1>d1>e1。(大于号表示a1比b1快,1表示第一名)。在这个地方我们可以推断出,a1是所有马中最快的,所以它是第一名。d1,e1不可能是前三的马,同时这两匹马所在的组也不可能是前三的马。所以排除这两组马,还剩三组15匹马。现在需要找出第二快和第三快的马。

3. 第二名和第三名的马在刚才的比赛中有以下几种分布情况:

  全部在a组(最快的马所在的组),那么它有是a1和a3.

  全部在b组,那么它们就是b1和b2。

  一匹在a组一匹在b组,那么它们是a2和b1.无论是第三名在a组还是第二名在a组都是这两匹。

  一匹在a组一匹在c组,那么它们是a2和c1。

  一匹在b组一匹在c组,那么它们是b1和c1。

  所以我们把a2,a3,b1,b2,c1拿出来再进行一场比赛。取前两名就是最终的结果。

参考资料:http://coolshell.cn/articles/1202.html

时间: 2024-12-23 02:37:59

【算法研究】25匹马赛跑,每次只能跑5匹马,最快能赛几次找出跑得最快的3匹马?赛跑不能计时,并假设每匹马的速度是恒定不变的。的相关文章

64匹马,8个赛道,找出前4名最少比赛多少场?——最快10次,最慢11次;

64匹马,8个赛道,找出前4名最少比赛多少场? 答案原创,转载请注明出处:http://www.cnblogs.com/reanote/p/find_4th_in_64horse.html 第一步:全部马分8组,各跑一次,然后淘汰掉每组的后四名(8次): 第二步:取每组第一名进行一次比赛,然后淘汰最后四名所在组的所有马(1次): 分析:其实这时候红色区域的马也可以淘汰了,A1可以直接晋级: 第三步:A2.A3.A4.B2.B3.C1.C2.D1八匹马跑一次,即:在剩下需要排名的马中,除了B1外,

NLTK学习笔记(四):自然语言处理的一些算法研究

自然语言处理中算法设计有两大部分:分而治之 和 转化 思想.一个是将大问题简化为小问题,另一个是将问题抽象化,向向已知转化.前者的例子:归并排序:后者的例子:判断相邻元素是否相同(与排序). 这次总结的自然语言中常用的一些基本算法,算是入个门了. 递归 使用递归速度上会受影响,但是便于理解算法深层嵌套对象.而一些函数式编程语言会将尾递归优化为迭代. 如果要计算n个词有多少种组合方式?按照阶乘定义:n! = n*(n-1)*...*1 def func(wordlist): length = le

几种搜索引擎算法研究

http://www.cnblogs.com/zxjyuan/archive/2010/01/06/1640136.html 1.引言 万维网WWW(World Wide Web)是一个巨大的,分布全球的信息服务中心,正在以飞快的速度扩展.1998年WWW上拥有约3.5亿个文档[14],每天增加约1百万的文档[6],不到9个月的时间文档总数就会翻一番[14].WEB上的文档和传统的文档比较,有很多新的特点,它们是分布的,异构的,无结构或者半结构的,这就对传统信息检索技术提出了新的挑战. 传统的W

实现 | 朴素贝叶斯模型算法研究与实例分析

实现 | 朴素贝叶斯模型算法研究与实例分析(白宁超2018年9月4日09:03:21) 导读:朴素贝叶斯模型是机器学习常用的模型算法之一,其在文本分类方面简单易行,且取得不错的分类效果.所以很受欢迎,对于朴素贝叶斯的学习,本文首先介绍理论知识即朴素贝叶斯相关概念和公式推导,为了加深理解,采用一个维基百科上面性别分类例子进行形式化描述.然后通过编程实现朴素贝叶斯分类算法,并在屏蔽社区言论.垃圾邮件.个人广告中获取区域倾向等几个方面进行应用,包括创建数据集.数据预处理.词集模型和词袋模型.朴素贝叶斯

基本算法研究1-冒泡排序算法测试

基本算法研究1-冒泡排序算法测试 1.经典冒泡排序法基本原理 先看一个动态图,感觉比较形象: 冒泡排序(Bubble Sort)是一种简单的排序算法.默认是从小到大排序,即把最大的数据排在最后,相当于每次把最大数据像气泡一样浮到水面一样.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换. 基本步骤: 1.比较相邻的元素.如果第一个比第二个大,就交换他们两个.        2.对每一对相邻元素作同样的工作,从开始第一对

通用高校排课算法研究----前言

1   绪 论 1.1课题背景与研究意义 1.2课题的应用领域 1.3 课题的现状 1.4解决NP问题的几种算法及其比较 2   目前流行的几种排课算法的介绍 2.1. 自动排课算法 2.2 基于优先级的排课算法 3   基于时间片优先级排课算法描述与分析 3.1排课中的基本原则 3.2排课的基本要求 3.3基于时间片优先级排课算法描述 3.4算法分析 参 考 资 料 1   绪 论 1课题背景与研究意义 排课问题早在70年代就证明是一个NP完全问题,即算法的计算时间是呈指数增长的,这一论断确立

静态频繁子图挖掘算法用于动态网络——gSpan算法研究

摘要 随着信息技术的不断发展,人类可以很容易地收集和储存大量的数据,然而,如何在海量的数据中提取对用户有用的信息逐渐地成为巨大挑战.为了应对这种挑战,数据挖掘技术应运而生,成为了最近一段时期数据科学的和人工智能领域内的研究热点.数据集中的频繁模式作为一种有价值的信息,受到了人们的广泛关注,成为了数据挖掘技术研究领域内的热门话题和研究重点. 传统的频繁模式挖掘技术被用来在事务数据集中发现频繁项集,然而随着数据挖掘技术应用到非传统领域,单纯的事务数据结构很难对新的领域的数据进行有效的建模.因此,频繁

搜索引擎算法研究专题三:聚集索引与非聚集索引介绍

搜索引擎算法研究专题三:聚集索引与非聚集索引介绍 聚集索引介绍 在聚集索引中,表中各行的物理顺序与键值的逻辑(索引)顺序相同.表只能包含一个聚集索引. 如果不是聚集索引,表中各行的物理顺序与键值的逻辑顺序不匹配.聚集索引比非聚集索引有更快的数据访问速度. 聚集索引通常可加快 UPDATE 和 DELETE 操作的速度,因为这两个操作需要读取大量的数据.创建或修改聚集索引可能要花很长时间,因为执行这两个操作时要在磁盘上对表的行进行重组. 可考虑将聚集索引用于: 1.包含数量有限的唯一值的列,如 s

BM25算法研究和实例

一. 主要研究内容 信息检索是用户进行信息查询和获取的主要方式,是查找信息的方法和手段.狭义的信息检索仅指信息查询.即用户根据需要,采用一定的方法,借助检索工具,从信息集合中找出所需要信息的查找过程.广义的信息检索是信息按一定的方式进行加工.整理.组织部存储起来,再根据信息用户特定的需要将相关信息准确的查找出来的过程. 搜索引擎一般流程如下: 图一 从检索后面都属于检索模型的范畴. 搜索结果排序是搜索引擎最核心的部分,很大程度度上决定了搜索引擎的质量好坏及用户满意度.实际搜索结果排序的因子有很多