高楼扔鸡蛋动态规划的递推方程式
时间: 2023-11-21 10:57:08 浏览: 89
高楼扔鸡蛋问题是一个经典的动态规划问题,其递推方程式如下:
令 dp[i][j] 表示有 i 个鸡蛋,j 层楼时的最小尝试次数。
则对于每一次尝试,我们可以选择在第 k 层楼扔鸡蛋,其中 1 <= k <= j。
如果鸡蛋碎了,那么我们需要在第 k 层以下的楼层继续尝试,即 dp[i-1][k-1]。
如果鸡蛋没碎,那么我们需要在第 k 层以上的楼层继续尝试,即 dp[i][j-k]。
因此,我们可以得到递推方程式:
dp[i][j] = min(max(dp[i-1][k-1], dp[i][j-k]) + 1),其中 1 <= k <= j
其中 max(dp[i-1][k-1], dp[i][j-k]) + 1 表示在第 k 层楼扔鸡蛋的最坏情况下的尝试次数,而 min() 则表示在所有可能的 k 中取最小值。
阅读全文