quanyun wei
quanyun wei
> 关于另一种思路的理解应该是这样的: > dp[k][m]表示有k个鸡蛋走m步最多可以(一定能)测出的楼层数 > 第一步应该在哪层扔鸡蛋?一个正确的选择是在dp[k-1][m-1]+1层开始丢鸡蛋, 分两种情况讨论 > 第一,如果蛋碎了,那么我们一定能用k-1个鸡蛋用m-1步测出下面的dp[k-1][m-1]层楼,这种情况下,我们总共可以测出无限高的楼层. > 第二,如果蛋没碎,显然结果不在下面的dp[k-1][m-1]层楼中,此时我们还有k个蛋和m-1步,那么我们去dp[k-1][m-1]+1以上的楼层继续测试,问题规模变小了,最多可以测出上面的dp[k][m-1]层楼. 那么总共可以测出dp[k-1][m-1]+dp[k][m-1]+1层楼. > 显然两种情况应该取较小的,因为我们并不能总是测出无限高的楼.其实最最关键的是理解第一步楼层选择为什么是正确的,严格的证明还是有点难度的. 为什么在蛋碎了的情况下,能测出无限高楼层呢?是因为第一步是随便选择的,这个值可以无限大吗?如果我推断不对,能否给下你推断的理由呀。感谢!
@gpx1000 When I try to attach to the debugger, AS show me an error and tell me to close other adb, then the choose process dialog dismisses. After I kill...