第108章 最优思路(2 / 3)

投票推荐 加入书签 留言反馈

  毕竟完成不了挑战就得死,林朔当然不可能赌正确答案就在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次显然已经在这个基础上有了很大提升。这样一来,玩家也不需要那么频繁地奔跑,也就是赶路过程不会再耗费过多时间。
  显然,如果采用这个办法,哪怕遇到了最麻烦的情况,只要手脚足够麻利,应该也能卡点或者接近卡点地成功存活、通关游戏。
  对于大部分玩家而言,想到这一层差不多也就是极限了。
  毕竟时间不等人,必须要尽快行动起来。
  如果还要贪图最后的奖励、再多磨蹭一会儿的话,搞不好连这个办法都行不通了。
  然而,也就在考虑到这个办法的同时,林朔和屏幕前最最聪明的你想到了一个与这种解决方案相似、却又更加特殊、更加巧妙的办法!
  如果要用一句话来形容这个方法,那便是:
  逐级递增,等差递减。
  第一步,和方案三一致,同样是通过二分法先确定一次范围。
  但第二步,却有所不同。
  在方案三中,选择的破题方式为每间隔10个数就进行一次测试,但在林朔所选择的方案四中,这个间隔数却随时发生着改变:
  19,27,24,40,45,49,52
  也就是说,第一次选择的间隔为9(10+9),第二次选择的间隔为8(19+8),第三次选择的间隔为7(27+7)……以此类推,每往上走一步,间隔数字就减少一个。
  让我们来看看这样做的好处。
  假设在19的时候死了,接下来就需要挨个尝试10~19之间的房间,最坏情况下需要尝试11,12,13,14,15,16,17,18,一共8次,加上先前的54,19,一共8+2=10次,解决问题。
  假设在27的时候死了,接下来就需要挨个尝试19~27之间的房间,最坏情况下需要尝试20,21,22,23,24,25,26,一共7次。加上先前的54,19和27,一共7+3=10次,解决问题。
  ……
  假设在52的时候还没死,那么直接可以确定答案为53~54。总共尝试次数为:54,19,27,34,40,45,49,52,一共只需8次。 ↑返回顶部↑

章节目录