丢棋子问题(动态规划) 题意 n+1层楼,k个棋子,每次扔一个,如果坏了不能重复使用,没有坏可以重复使用,找到最高德不会摔坏层数 问最坏情况需要几次 思路分析 1个棋子的情况 只有一个棋子,摔坏了就没得猜了,只能从低到高反复用 f(i,1) = i; 2个棋子的情况 假设选取从j层丢第一个棋子 坏了, 剩下一个棋子,代价为1+(j-1) = j 没有坏,问题变为2个棋子高度为i-j的情况,再加上刚刚扔的一次 f(i,2) = min(1 + max(j-1,f(i-j,2))) 显然f(i,2)是非严格单调递增的(因为比每次+1好),j-1也是严格单调递增的, 所以随着j取值增大,mi...