美文网首页
uva1442Cav 洞穴

uva1442Cav 洞穴

作者: kinoud | 来源:发表于2018-10-12 15:07 被阅读0次

    考虑单个底,双向拆分考虑,递归。
    对于某个底,我们考虑计算出对于它的这样两个量:如果它右边是无限高的墙,那么它的水位最高是多高,如果它左边是无限高的墙,那么它的最高水位又是多高。两者取最小值就是这个底最终的最高水位,因为这个最小值恰好满足必要条件,并且是充分的。
    然后用递归的思路计算左最高水位。
    即如何在k的左最高水位已经得到的前提下计算k+1的左最高水位。
    如果k的左最高水位介于floor[k+1]~ceil[k+1]之间,那么k+1的左最高水位也是这么大,如果大于ceil,那么k+1就是ceil,如果小于floor,那么我们令k+1的左最高水位就是floor,这样是合理的,因为任意比floor大的值都不是,比floor小的值不合适,并且可以供k+2递归参考。

    相关文章

      网友评论

          本文标题:uva1442Cav 洞穴

          本文链接:https://www.haomeiwen.com/subject/kmhgaftx.html