大家好,我是hpz,我非常喜欢暴力,所以我就用暴力通过了此题。
这一题裸暴力dfs
想都别想,所以必须大力优化,本篇题解主要就是讲优化。
- 记忆化。
这是比较常见的优化。
我们在dfs
函数中,一般需要有(当前节点编号),和(目前走过的路径权值),我们可以定义一个一维数组,其中表示走到节点目前所需要花费的时间。
那么在dfs
过程中,我们可以剪个枝,如果就直接跳出。
-
如果当前的已经比我们的当前答案要大,直接跳出。
-
玄学优化
这一点要实现得用存图。
我们在每条边存完以后,对于每一个点,从这个点出发的所有边按照节点编号排序。
至于为什么……就是防止CF的毒瘤Hacker给了一大堆边,但其实有的边,而且就是最短路径的情况。
然后就可以通过了。