题目链接:http://acm.xidian.edu.cn/problem.php?id=1007
题意:给定鸟蛋的数目和楼层数,确定鸟蛋的硬度。
这应该是一个比较经典的Dp了,看了别人朱晨光的论文,也就只能写个N^2 long N的算法了。
这篇文章让我懂了 log N的意思:鹰蛋实验
自己的理解:首先题目给定的有两个变量,我们可以很容想到一个式子:dp[i][j],但是,该如何对这个式子进行状态定义呢?用dp[i][j]表示:用i个鸟蛋进行楼层数为j(实际上楼层的最高层也就是j层了)的实验所需要的最多次数(就是题目要求的)。那么状态转移是怎样的呢?显然,第j层已经是最上面的那层了,那么在进行第j层实验之前,肯定会由下面的某个层转移得到,到底是那个层,我们并不确定,那么,我们就枚举j前面的每一个层就行了,假设其中一个楼层为w(w<=j),则用两种情况: