第108章 最优思路 (第1/1页)

好书推荐: 我乃茅山大师

那么,该用什么方法来进行这个步骤的推理呢? 这个时候,相信屏幕前大部分小可爱们的第一反应都是二分法。 确实,在所有方法中,二分法解决问题的步骤期望非常不错,看似是个好办法。 然而,在这个游戏规则的限制下,二分法却是碰都不能去碰的陷阱! 就拿林朔目前状态来说,他用掉了两条命,只剩下三条命,目前10~99这个区间内的所有东西对他来说都是未知的存在。 那么,假设答案范围在32~33这两个危险指数之间,由于他起初不知道这个答案,若是贸然采用二分法,将会出现什么情况? 首先,将这个数字从中间截断,也就是从54开始二分。 然后,他死了,还剩下两条命。 那么,接下来呢? 继续二分,大概就是从32开始。 然后,又死了,只剩下一条命。 这个时候,由于机会只剩最后一次,他就不得不从11开始,一步一步往后挪,用这种最原始的蠢办法来确认答案。 这样一来,时间就成了大麻烦。 通过前两个步骤,剩余的时间大概只剩下8分钟,也就意味着在这么点儿时间里平均每分钟需要开2~3扇门。然而,光是开门这个动作就需要花费大概20s才能完成,这还不算中途奔波的时间、不算连续开门导致的肌肉疲劳。 这样一来,最终几乎不可能在规定时间内通关。 那么,换一种更加保险的方式。不使用二分法,而是采取逐级上跳的办法,先一步确认粗略范围,然后再用一条命来进行细致推理。 这样可以吗? 我们来看看。 比如:首先,选择危险指数为20的房间作为目标,如果没死,就选择危险指数为30的房间作为目标…以此类推。 假如在选择危险指数为50的房间作为目标后死去,那么接下来就只要从41一个个往上挨个实验,最多到49,即可得到答案。 表面来看,这似乎是一个不错的办法。虽然它不能像二分法那样快速排除大量错误答案,但却稳扎稳打、一步一个脚印,比较踏实。 可是,真的是这样吗? 此处,需要考虑一种极端情况,也就是答案为99~100。 假设是这样,就意味着玩家需要一直往上推进:20,30,40,50,60,70,80,90,一共8次。 直到这个时候,才意识到答案在90~100之间。 在这个游戏中,房间危险指数逐级增高、呈龙摆尾式排列,意味着玩家中途需要花费大量时间赶路——从一头跑到另一头,对时间和体力都是损耗。 并且,后续还要逐级向上:91,92,93,94,95,96,97,98,99,一共9次。 直到这个时候,才意识到原来答案是99~100。 也就是说,如果采用这个方式,最多需要尝试9+8=17次,才能得到确切答案。 并且,这17次中的8次还需要大量奔波,这将导致时间变得异常紧张。 毕竟完成不了挑战就得死,林朔当然不可能赌正确答案就在11~20之间,他必须要考虑到最坏情况,这是对自己的生命负责。 好了!这个时候,相信屏幕前的大聪明、大漂亮们都开窍了,想到了一种更巧妙的办法来完成游戏—— 将第一个二分法和第二个等差递增法结合起来,就可以更加高效地得到正确答案! 首先,用二分法将数据两份,确定一个大致范围。 如果死了,就证明正确答案在10~54之间;如果没死,就证明正确答案在55~100之间。 由于二者等价,所以这里就拿前一种情况举例子。 确定了这样一个范围后,就沿用方法二的思路,从低到高递增,也就是20、30、40…… 在这种情况下,哪怕遇到极端情况,也就是正确答案为48~49(即玩家在49层死亡),也只需要尝试: 54 — 1次。 20,30,40,50 — 4次。 41,42,43,44,45,46,47,48,49 — 9次。 总共:1+4+9=14次。 相比于之前的17次,14次显然已经在这个基础上有了很大提升。这样一来,玩家也不需要那么频繁地奔跑,也就是赶路过程不会再耗费过多时间。 显然,如果采用这个办法,哪怕遇到了最麻烦的情况,只要手脚足够麻利,应该也能卡点或者接近卡点地成功存活、通关游戏。 对于大部分玩家而言,想到这一层差不多也就是极限了。 毕竟时间不等人,必须要尽快行动起来。 如果还要贪图最后的奖励、再多磨蹭一会儿的话,搞不好连这个办法都行不通了。 然而,也就在考虑到这个办法的同时,林朔和屏幕前最最聪明的你想到了一个与这种解决方案相似、却又更加特殊、更加巧妙的办法!这章没有结束,请点击下一页继续阅读!