————————————————————————————
(¯﹃¯)从第一层到第100层,一层层扔绝对是不对的
运气好的话,肯定是一层就能试出来,但假设运气最不好呢?
………………………………………………………………………………………
首先,俩易想到的思路,简述一下
………………………………………………………………………………………
第一个,二分法,就是第一个杯子在50层扔,那么,若没碎,那确实仍会范围缩小。但若碎了,剩下一个只能从第一层到第49层一个个试,那么运气最不好,就要试50次。[也就是此方法,运气最不好要试50次]
………………………………………………………………………………………
第二个,分层,以每10个分层(或者说一组),就是第一次在第10层(第一分层)扔,若碎再试1-9层(需试1+9次);若不碎第二次在第20层(第二分层)扔,若碎再试11-19层(需试2+9次)…………运气最不好在第10分层(组),就是要试10+9次[也就是此方法,运气最不好要试19次]
………………………………………………………………………………………
到重点了,上最后一个方法,对第二个进行优化,使得每分层(组),运气最不好时应该试的次数一样,那么就是第一次在第x层试,下次在x加x-1层试……。
这里提前说下,第一次分层扔应在第14或15层扔,可以先思考下为什么?
那个为啥是14和15是由于
它思路是在按10分层的基础上,使得每次分的那个地方,尝试的次数尽可能一样
原本是,若在每次分层的那个地方碎,会试10,11,12,13……19次
它希望这些次数是一样的,那么每次分层的地方试出的次数应该是(10+19)/2=14.5,因为是整层碎,就要考虑第一次扔是14层还是15层好(他们都是在第一次n层试,下次在n-1层试)
15层的话,就是15+14+13……+7=99,再加一就是100,15-7+1=9,一共9个数,那么若在最后一次分层那个地方碎,就是要试10次,若是其它分层处碎,就是15次
14层的话,14+13+12+11+……+4=99,再加一为100,14-4+1=11就是11个数,那么在最后一个分层碎就是要试11+1=12次,若在其它分层碎就是要试14次
………………………………………………………………………………………
最后一个方法还一个简单理解思路
10乘10等100,
9乘9等于81,但为了那个匀次数,实际是9个不一样的数,即15+14+……+7(共9个数)
11乘11等于121,但为了匀次数,实践是11个不一样的数,即14++13+12+……+4(共11个数)
11和9最接近10,其它不用想
………………………………………………………………………………………