2 solutions

  • 0
    @ 2026-4-9 11:36:55

    证明 首先, 从右下角回传可以等价为从左上角同时传两次。要想两个路径除了起点和终点之外没有交点,那么肯定有一条路径完全位于另一条的上方。 现在考虑路径有交点的情况:

    这种情况其实转换起来很简单,只要把位于红色线段上方的蓝色线段交换颜色就可以了,也就是说当红色处于蓝色的下方的时候,将红色的路径换成从蓝色的那段走是等效的(因为两条路径加起来经过的节点完全没有变)。

    就可以得到:

    但是这个时候虽然满足了红色路径完全在蓝色的上方,但是却有交点。但是因为所有节点的权值都为非负数,那么可以证明这种情况永远不可能是最优解。比如以交点(2,2)为例,蓝色从(3,1)绕道或者红色从(1,3)处绕道一定不会比两条路径都从(2,2)处走差。

    绕过交点之后,可以得到蓝色虚线的方案,该方案一定不会比之前的两个实线的方案更差。(当然该方案也不一定是最优的,还要确定应该由蓝色还是红色来走原来的交点的位置。

    结论 不论是在 方格取数 中,还是在本题中,最优解永远不会由两段相交的路径组成。 那么代码中的相关位置的判断在事实上是起到了上述的确定是让蓝色还是红色走虚线的效果。

    Information

    ID
    460
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    6
    Tags
    # Submissions
    6
    Accepted
    4
    Uploaded By