摘要:
解题思路: 从1开始深度优先遍历整个图,找到所有能到达N的走法,但是如果当前已经找到的最优路径长度为L,那么以后总长度已经大于L的走法就可以直接放弃。用midL[k][m] 表示:走到城市k时总过路费为m的条件下,最优路径的长度。若在后续的搜索中,再次走到k时,如果总路费恰好为m,且此时的路径长度已 阅读全文
posted @ 2017-04-20 15:46
Kearon
阅读(187)
评论(0)
推荐(0)
摘要:
解题思路: 利用深度优先搜索找到经历1到n-1的路径然后再从n-1到n,结合最优性剪枝。 如果当前已经找到的最优路径时间为T,那么以后总时间已经大于T的走法就可以直接放弃。 如果之前到达某个状态比这次花费的时间要少,则剪枝。 如何表示某个状态呢,该状态可以去掉1和n,只与当前所在城市和走过的城市有关 阅读全文
posted @ 2017-04-20 15:45
Kearon
阅读(1032)
评论(0)
推荐(0)
摘要:
解题思路: 用一个数组存放线段树。根节点下标为0。假设线段树上某节点下标为i, 则: 左子节点下标为 i *2+1 右子节点下标为 i*2+2 由二叉树的定义可知叶子节点为n个时至多需要4n-1个节点 阅读全文
posted @ 2017-04-20 15:41
Kearon
阅读(223)
评论(0)
推荐(0)