摘要: 传送门: Dijkstra Bellman-Ford SPFA Floyd 1.算法思想: 定义一个n阶方阵序列:A(-1) A(0) A(1) A(2) ....... A(n-1) A(-1) [i][j]表示顶点Vi到顶点Vj的直接边的长度,A(-1) 就是邻接矩阵Edge[n][n] A(0 阅读全文
posted @ 2018-04-06 23:05 _努力努力再努力x 阅读(853) 评论(0) 推荐(0) 编辑
摘要: 基于vector存图 用邻接矩阵的代码比较简单,就不加上来了 使用链表前向星存图 https://www.cnblogs.com/ECJTUACM-873284962/p/6905416.html 阅读全文
posted @ 2018-04-06 22:25 _努力努力再努力x 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 传送门: Dijkstra Bellman-Ford SPFA Floyd 1.算法思想 Bellman-Ford算法时间复杂度比较高,在于Bellman-Ford需要递推n次,每次递推需要扫描所有的边,在递推n次的过程中,很多判断是多余的,所以考虑用队列优化,减少不必要的判断,这种算法称为SPFA 阅读全文
posted @ 2018-04-06 22:06 _努力努力再努力x 阅读(1226) 评论(0) 推荐(0) 编辑
摘要: 题目链接: https://vjudge.net/problem/POJ-2240 题目大意: 已知n种货币,以及m种货币汇率及方式,问能否通过货币转换,使得财富增加。 思路: 由于这里问的是财富有没有增加,但是没有源点,所以可以枚举1-n为源点,分别用bellman-ford算法判断是否存在正环, 阅读全文
posted @ 2018-04-06 20:56 _努力努力再努力x 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 题目链接: https://vjudge.net/problem/POJ-1860 题目大意: 我们的城市有几个货币兑换点。让我们假设每一个点都只能兑换专门的两种货币。可以有几个点,专门从事相同货币兑换。每个点都有自己的汇率,外汇汇率的A到B是B的数量你1A。同时各交换点有一些佣金,你要为你的交换操 阅读全文
posted @ 2018-04-06 20:19 _努力努力再努力x 阅读(403) 评论(0) 推荐(0) 编辑
摘要: 传送门: Dijkstra Bellman-Ford SPFA Floyd 1.Dijkstra算法的局限性 像上图,如果用dijkstra算法的话就会出错,因为如果从1开始,第一步dist[2] = 7, dist[3] = 5;在其中找出最小的边是dist[3] = 5;然后更新dist[2] 阅读全文
posted @ 2018-04-06 19:35 _努力努力再努力x 阅读(6569) 评论(0) 推荐(0) 编辑
摘要: 题目链接: https://vjudge.net/problem/ZOJ-2750 题目大意: 给定一本字典,字典里有很多成语,要求从字典里的第一个成语开始,运用字典里的成语变到最后一个成语,变得过程就是成语接龙,后一个成语的第一个字必须有前一个成语的最后一个字相等,给定的成语是4位16进制数字,每 阅读全文
posted @ 2018-04-06 17:41 _努力努力再努力x 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 题目链接: https://vjudge.net/problem/POJ-1135 题目大意: 有N个关键的多米诺骨牌,这些牌通过一些路径相连接,这些路径是由一排其他骨牌构成的。已知每一条路径上的骨牌倒下需要的时间。现在从把编号为1的关键骨牌推倒,问多长时间后所有的骨牌(包括关键牌和它们之间的路径上 阅读全文
posted @ 2018-04-06 17:04 _努力努力再努力x 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 传送门: Dijkstra Bellman-Ford SPFA Floyd 1、dijkstra算法求解过程: (1)首先设置两个顶点集合T和S S中存放已找到最短路径的顶点,初始时,集合S中只有一个顶点,即源点v0 T中存放当前还未找到最短路径的顶点 (2)在集合T中选取当前长度最短的一条最短路径 阅读全文
posted @ 2018-04-06 16:13 _努力努力再努力x 阅读(11709) 评论(0) 推荐(0) 编辑
摘要: 题目链接: https://vjudge.net/problem/POJ-1679 题目大意: 给定一个无向连通网,判断最小生成树是否唯一。 思路: (1)对图中的每条边,扫描其他边,如果存在相同权值的边,对该边做标记。 (2)然后用kruskal算法或者prim算法求MST(标记MST中的边) ( 阅读全文
posted @ 2018-04-06 14:05 _努力努力再努力x 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 题目链接: https://vjudge.net/problem/POJ-2031 题目大意: 就是给出三维坐标系上的一些球的球心坐标和其半径,搭建通路,使得他们能够相互连通。如果两个球有重叠的部分则算为已连通,无需再搭桥。求搭建通路的最小费用(费用就是边权,就是两个球面之间的距离)。 思路: MS 阅读全文
posted @ 2018-04-06 13:34 _努力努力再努力x 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 题目链接: https://vjudge.net/problem/POJ-1287 题目大意: 模板 阅读全文
posted @ 2018-04-06 13:24 _努力努力再努力x 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 题目链接: https://vjudge.net/problem/POJ-1251 题目大意: 首先给你一个图,需要你求出最小生成树,输入N个节点,用大写字母表示了节点,然后节点与节点之间有权值。 思路:这里需要编号,其他的就是模板 阅读全文
posted @ 2018-04-06 13:17 _努力努力再努力x 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 题目链接: https://vjudge.net/problem/POJ-2421 题目大意: 还是给你n个点,然后求最小生成树。特殊之处在于有一些点之间已经连上了边。 思路: 和POJ-1751一样的,将已有的边的权值设置成0即可 阅读全文
posted @ 2018-04-06 12:50 _努力努力再努力x 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 题目链接: https://vjudge.net/problem/POJ-2349 题目大意: 要在n个节点之间建立通信网络,其中m个节点可以用卫星直接连接,剩下的节点都要用线路连接,求剩下这些线路中最大的长度需要多长 思路: 还是MST的裸题,由于有m个节点可以用卫星连接,所以求出MST后,最长的 阅读全文
posted @ 2018-04-06 12:44 _努力努力再努力x 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 题目链接: https://vjudge.net/problem/POJ-1751 题目大意: 有一个N个城市M条路的无向图,给你N个城市的坐标,然后现在该无向图已经有M条边了,问你还需要添加总长为多少的边能使得该无向图连通.输出需要添加边的两端点编号即可. 思路: 这里已经有部分边,要求剩下的MS 阅读全文
posted @ 2018-04-06 12:20 _努力努力再努力x 阅读(104) 评论(0) 推荐(0) 编辑