Algorithm 为什么不是';答案是否定的;鸡蛋滴”;“问题”;楼层数目“;还是2?
我一直在尝试“鸡蛋掉落”动态规划问题,但是我真的很困惑为什么答案是有意义的 这个问题的措辞通常如下(更长的定义,以及其他许多地方): 你可以在多个楼层扔鸡蛋。在某些楼层,鸡蛋落地时会很好,而在其他楼层,鸡蛋会破裂 给定一定数量的鸡蛋和一定数量的地板,找到门槛地板(鸡蛋将破裂的第一层)所需的最小滴数是多少 显然,这个问题的答案是对问题空间的搜索,它列举出所有可能的情况,并找出最坏的情况 这肯定是我不理解这个问题,但为什么这是答案?在我看来,答案是两件事之一:Algorithm 为什么不是';答案是否定的;鸡蛋滴”;“问题”;楼层数目“;还是2?,algorithm,recursion,dynamic-programming,Algorithm,Recursion,Dynamic Programming,我一直在尝试“鸡蛋掉落”动态规划问题,但是我真的很困惑为什么答案是有意义的 这个问题的措辞通常如下(更长的定义,以及其他许多地方): 你可以在多个楼层扔鸡蛋。在某些楼层,鸡蛋落地时会很好,而在其他楼层,鸡蛋会破裂 给定一定数量的鸡蛋和一定数量的地板,找到门槛地板(鸡蛋将破裂的第一层)所需的最小滴数是多少 显然,这个问题的答案是对问题空间的搜索,它列举出所有可能的情况,并找出最坏的情况 这肯定是我不理解这个问题,但为什么这是答案?在我看来,答案是两件事之一: 如果你有1个鸡蛋,那么这就是你有多少
- 如果你有1个鸡蛋,那么这就是你有多少楼层,因为你可能需要从所有楼层(从1开始)将鸡蛋扔下。它首先打破的是“阈值”,这将为你确认一个答案,因为你知道它下面的每一层都是“安全的”
- 如果你有n个鸡蛋,那么答案不是2:你把它掉下来,它就碎了,然后你把它掉在下面的地板上,它就不会掉了
谢谢!你确实误解了这个问题。当它说: 找到门槛地板所需的最小滴数是多少 这意味着你必须设计一个你将要应用的最佳策略。该策略必须根据前一滴是否打破鸡蛋来定义下一滴是从哪个楼层开始的。因此,这就像你遵循的二元决策树一样。根据你从扔鸡蛋中得到的反馈,你将朝着不同的方向移动在那棵决策树上 现在,你必须找到你的策略最糟糕的情况:在这个策略中,哪一个是需要最多下降才能找到的临界点 有多种策略。其中一些策略在最坏情况下需要比其他策略更多的下降。你的工作是找到一种策略,使最坏情况下需要的下降次数最小化,并返回该数字 请注意,对于一种情况,构成最坏情况的可能不是另一种情况。每个策略都有自己的最坏情况
请注意:该策略决不能让您陷入一种情况,即您已经没有鸡蛋了,并且仍然无法确定哪一个是阈值。啊,太棒了-谢谢。因此,如果我理解正确的话:1.有一个找到阈值的最佳策略,您需要制定它2.此策略w我会有一个“最坏的情况”:策略需要最多下降才能找到3的开始/结束组合。你需要计算下降的数量。因此,也许表达这个问题的更好方式是“此问题存在一个最佳搜索策略-查找。使用此策略查找阈值下限所保证的最小滴数是多少?”