图论—最短路
四光年
算法无止境!
展开
-
最长路
一:最长路求解对于floyed和bellman—ford是可行的直接将所有的边都取负,然后按照最短路求解就行了。但是对于有环出现的情况,floyed就不行了,我们就需要借助bellman算法来判负环。floyed的实质是动态规划,不能处理负环。如果点的数量不是特别多的话,可以使用深搜(通过vis数组标记,看是否会遍历到之前已经遍历过的点)。如果点的个数非常多的话,就得使用ford或者是sp...原创 2018-12-15 16:47:06 · 2611 阅读 · 0 评论 -
hdu1595
题意:删除1—N最短路上的一条边,使图剩下部分1—N的最短路最长 关于多条最短路:这道题目的思路还是很容易想到的,我们直接找最短路,然后枚举删除最短路上的边,然后找出结果就行了。但值得一提的是,开始自己考虑了有多条最短路的问题,然后我就将所有最短路上的边都进行标记,然后就MLE了,感觉出题不严谨。其实不是,就算有多条最短路,我们只需要其中一条就行了。多条最短路有两种情况最短路...原创 2018-12-21 18:28:37 · 120 阅读 · 0 评论 -
hdu2363 dijkstra+记忆化搜索
集中精力在圆锥的高上追求高度!题意:开始以为是求1到2的最短路的个数,其实不是。能够走得路径满足以下条件:当前的A点到2的最短路距离小于B到2的最短路的距离。这个时候可以从A到B。思路:我们直接从终点2开始,dijkstra记录下每一个点到终点的距离,然后记忆化搜索就行了。开始我是直接深搜的,然后就mle了。#include <bits/stdc++.h> us...原创 2018-12-22 13:56:26 · 180 阅读 · 0 评论