【动态规划问题】求算法:n个鸡蛋,用最少的个数求出从多高扔下去刚好摔...

这题应有个上限,就是鸡蛋扔多少米一定会坏,设为h米


设T(i,j)为用i个鸡蛋,上限为j米,最坏情况下最少次数。


i从1到n,j从1到h

T(1,j)=j-1 即只有一个鸡蛋,需要从一米开始一直到j-1米,要j-1次

T(i,1)=0 即当1米一定摔坏,则碎点是0,不需要扔即可知道


当i>1且j>1时

其中

k表示扔一个鸡蛋在k米

T(i,j-k)+1 是指鸡蛋扔在k层没摔坏,则等于i个鸡蛋,最坏j-k米需要次数+1

T(i-1,k)+1 是指鸡蛋扔在k层摔坏,则等于i个鸡蛋,最坏k米需要次数+1

max 是指两种情况下最坏需要的次数

min 在1到j-1米中选择最坏情况下最小次数的米数

呵呵,如果m是1000米,我从1米开始试,得试到啥时候可就没准了。
英文,有压力。