|
本帖最后由 realnumber 于 2019-8-30 10:58 编辑 比如 k=1,n=10,那么从1楼开始实验,最坏情况下需要10次.
又鸡蛋数量足够,k>=[$log_2n$]+1,似乎是二分法;
不够的话,k=1只能从底层逐层检验,k>=2 ,怎么设置规则?
比如k=2,n=61
2个鸡蛋,61层楼
方案一:选第31层,破的话,需要从第一层逐层检验,最坏是在第30层,需要31次才能够检验出来.
方案二:选取第3层掉落,未破,继续选第6层,再未破,继续选第9层,...这样,最坏情况是在第60层,需要22次才能够检验出来.
方案三:选取第8层掉落,依次16,24,....最坏情况是在第56层,需要7+7=14次才能检验出来.
方案四:选取第7层掉落,依次14,21,..最坏情况是在第56层,需要8+6=14次
方案五:选第10层...需要6+9=15次
...这样看起来14次才是最优的.
2个鸡蛋,1000层楼
方案一:依次8层,最坏需要125+7=132次
方案二:依次50层,最坏需要20+49=69次
方案三:依次32层,最坏需要31+31=62次.
猜测:2个鸡蛋,n层 最优策略,依次选取$\sqrt{n}$层,最坏需要约$2\sqrt{n}$
3个鸡蛋?
3个蛋1000层
方案一:依次100层,最坏10+20-1=29次
方案二:依次81层,最坏12+18-1=29次
方案三:依次400层,最坏2+40-1=41次
方案四:依次t层,最坏$\frac{n}{t}+2\sqrt{t}$,在$t=n^{\frac{2}{3}}$时取最小,但前提是假设选点有固定位置. |
|