我正在阅读Robert Sedgewick的算法第4版,他有以下任务:
假设你有一个N层建筑和2个鸡蛋。假设如果鸡蛋被扔掉F楼或更高的地方,鸡蛋就会被打破,否则就会破裂。您的成本模型是投掷次数。设计一个策略来确定F,使某些常数c的投掷数量为~c√F。
任务的第一部分是在2√N步骤中找到F,这是一个解决方案:
第1部分的解决方案:
他还提供了~c√F部分的提示(第2部分):
第2部分的提示:1 + 2 + 3 + ... k~1 / 2 k ^ 2.
那么在~c√F步骤中算法是什么?
答案 0 :(得分:6)
从第1层,第3层,第6层......(部分总和为1,2,3,......)放下第一个鸡蛋。 然后在最后两层之间进行线性搜索。