引用 @LightingB 发表的: 杠一下 要的是最快的四匹马 不管小组第八多快,它一定不是最快的四匹之一
引用 @卡安雨 发表的:这是清华大学2009年自主招生的数学题,当然那个题更复杂一点。这个题目是简化版了,题干没说清楚,应该是不能测速,只能比快慢,怎么比出来最快的4匹马。
引用 @Mr_Leons 发表的:那照你这么说的话 88分组 每组取第一名 第9回合就知道谁是最快的前4名了。如果要杠一下的话 第一回合应该是有8组比赛 第二回合就是每组第一跑了 所以2回合就知道前4了。
引用 @泉州古大乐 发表的: 第一回合8次,记录下名次,第二回合的从8组第一的拉出来比,第二次比赛后面4名的组全组淘汰,第4名的除第一次第一外组全组淘汰,第3名的组第一回合前二进组,3.4淘汰,第2名的组第一回合前3晋级,第4淘汰,第一名的组,全组晋级,并且2次第一保送,剩下9匹马选前3,可能需要2次,所以总共应该是8+1+2,11次选出前4的马,不知道对不对。
引用 @宽粉条 发表的:一条跑道上八匹马。
引用 @怒念紧箍咒 发表的: 这个其实就是在内存限定的情况下进行大量数据排序问题,应该算是外部排序的变种。先分8组进行8轮排序,每组组内排序已经OK了,然后作为输入,比每组最快的马。这样再需要4次就OK了。简单想了下,应该还有优化空间,其他jr补充。
引用 @虎扑JR1375400214 发表的:专业点,毕竟不是985一条街,一共跑11回合就OK了。先随机分8组,取出每组前4。然后让这8组的冠军跑一轮,留下前4名,这时候冠军已经确定了。剩下的4组舍弃。然后取出冠军组的2,3、4名,第二名组的1,2,3名第三名组的1,2名第四名组的1名。这9匹马跑两次,取出前3就OK8+1+2=11次
引用 @遥隔_云端 发表的:算法题啊。。
引用 @hi我等你很久了 发表的:第二名组的1,2,3名,第三名组队1,2和第四名的1,你怎么判断?在不测速的前提,第二名之间没有比较,应该视为一样快,第二名组跑一次才能决出1,2,3,同理第三名组,第四名组也应该跑一次啊??真心求解
引用 @蹿腾吧 发表的:叠罗汉??
引用 @还要更机智的帆帆 发表的: 不用取第四名组的第一名,10轮结束了,专业点老哥
引用 @你好心晴 发表的:就是加上你说的6匹加上冠军组的234 一共九匹,跑两轮 决出前三
引用 @你好心晴 发表的:需要第四组的第一名。老哥。专业点
引用 @mengtuo7 发表的:奥运会比法,八八分组,小组前四进下一轮,8+4+2+1共计15回合
引用 @还要更机智的帆帆 发表的: 那是在第10轮没结束的时候再取它,10轮结束就不用取了
引用 @modafinil 发表的:最少是10次,随机分8组跑8次,然后选出8个组的冠军跑1次,最后冠军组第5名和冠军组前4名所在的随机组的第2名跑1次,要是冠军组第5名跑第一,那前4就选出来了。
引用 @稀饭范贩 发表的: 本人不是码农。感觉这种程序算法题都是在考数学啊,是不是数学好搞算法优势大。
引用 @我比丹尼格林三分准 发表的:1234组的第一已经确定比他们快了
引用 @modafinil 发表的:错了是9次,随机分8组跑完,要是其中有一组的都非常快,取这组的第4和其他组的第1再跑一次,要是这组的第4能跑第1,那前4名就选出来了。
引用 @终恋ez 发表的:充会员一回合就能选出来,不充会员选不出来。
引用 @小冰狗 发表的:那头叫化腾的跑得最快,叫云的最后一名🐶
引用 @我的偶像183 发表的:那就冒泡排序试试?
引用 @镰刀死神杜 发表的: 这个影响不大其实,因为最终只需要找出最快的四匹,每次都是小组前四进的
引用 @宽粉条 发表的:一个回合,一起跑,前四就完事。
引用 @霹雳无敌仲恺小霸王 发表的:厉害,核心在于不是测速,而是比快慢。如果测速的话,必须全部跑完就清楚
引用 @Juejima 发表的:万一最快的四匹第一轮同在一组怎么破
引用 @性感湖人在线撩妹 发表的:他要最快的4匹马 你都说计时器了 我是不是可以说 每组的第一名看到后面的跑不过它没用全力呢
引用 @虎扑JR1892095035 发表的: 9次冒泡排序,取最后四个,不就可以出来了吗。我才大一为什么我觉得挺简单
引用 @用户1105393614 发表的:这个算法可以优化吧,八个赛道从两头向中间跑,八个赛道可以一次跑16匹马,前八次可以简化成四次。
引用 @你好心晴 发表的:也可能10次, 9匹马留下冠军组的4 如果3被淘汰的话4肯定被淘汰就不用第11次了。所以答案是,11次肯定可以测出来,10次可能测出来
引用 @说气人不你 发表的:明天报道
引用 @Kevindavid 发表的:所以咱们用堆排序?
引用 @欢乐小松 发表的:第二回合因为第一组第一名已经保送,只需要拉第一组234名和第二组123名和第三组的12名比赛选前三即可,一共只需要九次,不知道对不对
引用 @梁棋政 发表的:没看到每次进4个么
引用 @谨言慎行p 发表的: 不对啊兄弟 假设跑的最快的四个全在第一组里 你取每组的第一能取得全部的前四吗
引用 @就是叉哥 发表的:我第四组第一名没有排面的吗🐶
引用 @极夜之辰 发表的: 借楼,分三轮进行第一轮分八组,每组八匹,记下每组前四;第二轮,第一轮的每组第一组成第九组跑一轮,记下前四;第三轮 第九组的1名和2名所在原小组的234名共6匹加上第九组的三四名组成第十组跑一轮,记下前二第九组的前二加上第十组的前二就是最快的四匹🐎了,一共用了8+1+1=10个回合。
引用 @纯白交响曲 发表的: 哈哈我知道 我是用这个例子来杠一下每个组取最快再比的这种说法的
引用 @独立团骑兵连孔连顺 发表的: 可能不是标准答案: 64匹马分8个跑道,取每个跑道前四名,一共取得32匹,然后让每个跑道的第一名赛一场,第一名为所有组最快,然后去掉后四名的赛道的马,这时还剩下第一名赛道2、3、4,第二名赛道1、2、3、,第三名赛道1、2,第四名赛道1,9匹马比两次,次数8+1+1+1=11
引用 @一块奶油小饼干 发表的: 每组第一的一起跑,跑完选出最快的,假设是a组,此时把a组第二拉出来,和原来七个跑,再把最快的拉出来,以此类推,前一个最快的选出来,该组下一名顶上,选出四个最快的,这种方法就是跑12次,不知道还有没有更快的,坐等
引用 @60E守卫者 发表的:最少13个回合可以选出最快的4匹马,8+3+1+1
引用 @让你吃含笑半步癫 发表的:这题,我会,吴军老师讲过,分8组,比8次,在决赛比一次,找到最快的马,然后冠军组里2,3,4与决赛的2,3,4,决赛第二名组里的2,3名,比一次就可以找到跑的最快得第二和第三,找第四再比一次,一共11次
哈哈我知道 我是用这个例子来杠一下每个组取最快再比的这种说法的
第一回合8次,记录下名次,第二回合的从8组第一的拉出来比,第二次比赛后面4名的组全组淘汰,第4名的除第一次第一外组全组淘汰,第3名的组第一回合前二进组,3.4淘汰,第2名的组第一回合前3晋级,第4淘汰,第一名的组,全组晋级,并且2次第一保送,剩下9匹马选前3,可能需要2次,所以总共应该是8+1+2,11次选出前4的马,不知道对不对。
可能存在有的小组第四都比其它组第一快,所以第一轮需要取前四
古天乐牛皮,我吴彦祖服了
笑死。。
第一次8个比赛 选出最快的4个 参加下一轮 15次比出来 这是我能想到最少的了
第二名组的1,2,3名,第三名组队1,2和第四名的1,你怎么判断?在不测速的前提,第二名之间没有比较,应该视为一样快,第二名组跑一次才能决出1,2,3,同理第三名组,第四名组也应该跑一次啊??
真心求解
叠罗汉??
9次冒泡排序,取最后四个,不就可以出来了吗。我才大一为什么我觉得挺简单
不用取第四名组的第一名,10轮结束了,专业点老哥
就是加上你说的6匹加上冠军组的234 一共九匹,跑两轮 决出前三
马体蜈蚣……
需要第四组的第一名。老哥。专业点
我已经知道了,谢谢老哥
那是在第10轮没结束的时候再取它,10轮结束就不用取了
本人不是码农。感觉这种程序算法题都是在考数学啊,是不是数学好搞算法优势大。
我觉得这兄弟说的没问题啊,回复的是不是没理解。为了避免最快的在同一组,必须每组的前四名都参加下一轮,以此类推一共15轮
想错了。楼下正解
只要不是 第二轮的23 前二,就不用取了。如果是他俩前二,就要把他拿上啦再跑一次
错了是9次,随机分8组跑完,要是其中有一组的都非常快,取这组的第4和其他组的第1再跑一次,要是这组的第4能跑第1,那前4名就选出来了。
对 算法对数学要求大 所以很多转算法的硕士 什么专业的都有
是的😂我搞错了
这么说的话,取这组的45678 跟其他组的第一 跑一遍,赢了就能直接决出来了
。。。。我果然不适合干程序员
不用这么麻烦啊,8轮就够了呀。每轮跑8只,8轮跑完,按照计时结果选最快的4只啊。
充值会员,随机选取4只就是最快的,其他马因病退赛。
叫云的怎么了,难道不是叫三石的嘛?
需要隔天比赛, 有些马连续跑, 会饿的没劲!
有的马开始即巅峰呢? 有的马需要慢慢进入状态呢 ?对于马不公平🐶
等你冒完泡,马嘴巴里都冒泡了
这个靠谱,方向应该是对的,第九次比赛一下淘汰掉一多半马。
而且,题目应该是: 至少比多少场, 能够确保可以测出最快的4匹马。 这就很复杂了
6个回合够了,每匹马亮个相,然后观众短信投票,票最多的前四就是了
万一最快的四匹第一轮同在一组怎么破
你这是产品岗的答案。。。
题都没有读懂就别来秀了吧
测速不是八次就跑完了
已删除............. [ 此帖被werrwerr在2019-11-04 17:51修改 ]
没看到每次进4个么
那是不是还可以说今天这匹马的腿被蚊子咬了,影响发挥
因为你大一的老师没教你好好读题
照你这么"优化",就没有答案了。
题干肯定是至少几次可以肯定测出来, 所以答案是11
别明天了,现在就来
堆排序好像更慢
借楼,分三轮进行
第一轮分八组,每组八匹,记下每组前四;
第二轮,第一轮的每组第一组成第九组跑一轮,记下前四;
第三轮 第九组的1名和2名所在原小组的234名共6匹加上第九组的三四名组成第十组跑一轮,记下前二
第九组的前二加上第十组的前二就是最快的四匹🐎了,一共用了8+1+1=10个回合。
第二回合因为第一组第一名已经保送,只需要拉第一组234名和第二组123名和第三组的12名比赛选前三即可,一共只需要九次,不知道对不对
一共十次,说错了
我瞎了
每组第一的一起跑,跑完选出最快的,假设是a组,此时把a组第二拉出来,和原来七个跑,再把最快的拉出来,以此类推,前一个最快的选出来,该组下一名顶上,选出四个最快的,这种方法就是跑12次,不知道还有没有更快的,坐等
你这个要量距离吧。和计时也差不多了。
64分八组,最优状况就是8个每组第一正好是前八名
最后前8再来一组分出前四。。
完美。。。
收拾收拾跟我去你座位吧
我第四组第一名没有排面的吗🐶
好吧,没注意,哈哈,还是11次
看了jr们的答案我果然还是不够严谨
啥云?腾讯云吗
你不是杠一下,你是没理解。
1. 题目没说不能测速
2. 干跑误差太大,应该至少跑个几次统计成绩吧
我最少要13次,看了你的,牛逼,你的可能才是最少的
你这个办法可不止12次。
3哪里来的?
是的,所以这种题目通常第一步是补充完整题干,比如没有计时器,马每次都同时起跑,每次都跑得一样快,不存在几匹马并列冲线。。。
最后一般问的是,至少要多少轮才能确保测出最快的马。
请问第二轮,最快的三个在一组怎么破
还得充年费会员
我觉得是最多9次。前八次一样,找本组最快的四匹马。第九次:每组前四按照快慢列竖队,小组成绩快的排在该道的前面,慢的在该道后面,等于是32匹马一起跑。然后最快的四匹就一目了然了,因为小组慢的马是不会超过前面小组快的马。(用这个方法找最快的前八也是9次)