最短路
Ziiyan
这个作者很懒,什么都没留下…
展开
-
POJ - 2387 Til the Cows Come Home(dijkstra)
题目大意:n 个点,给出若干条边,无向图,求 1 到 n 的最短距离 解题思路:模板题,没啥好说的#include<iostream> #include<stdio.h> #include<algorithm> #include<cmath> #include<string.h> #include<string> #include<queue> #define max(a,b) ((a)>(b)?原创 2017-09-05 17:30:39 · 213 阅读 · 0 评论 -
POJ - 1797 Heavy Transportation(dijkstra)
题目大意:n 个城市 m 条道路,每条路都有一个承载量,求最大承载量。 解题思路:最大生成树,无向图,dijkstra。对于每条路线来说,最大承载量是该条路线所有道路承载量中的最小值#include<iostream> #include<stdio.h> #include<algorithm> #include<cmath> #include<string.h> #include<string>原创 2017-09-17 09:23:28 · 242 阅读 · 0 评论 -
POJ - 3268 Silver Cow Party(dijkstra)
题目大意:n 个点 m 条边,第二行开始每行三个数 表示 a 到 b 要花费 l 时间,所有奶牛要到 x 的位置去开 party,除了 x 外,别的奶牛去 x 都有一个来回的最短时间,求所有奶牛来回最短时间,并输出最大值 解题思路:有向图,所以来回时间是不同的,将临接矩阵行列对换,进行两次dijkstra即可#include<iostream> #include<stdio.h> #include原创 2017-09-17 09:30:58 · 257 阅读 · 0 评论 -
POJ - 1860 currency exchange(bellman)
题目大意:n 个城市 m 条道路,每条路都有一个承载量,求最大承载量。 解题思路:最大生成树,无向图,dijkstra。对于每条路线来说,最大承载量是该条路线所有道路承载量中的最小值#include<iostream> #include<stdio.h> #include<algorithm> #include<cmath> #include<string.h> #include<string>原创 2017-09-17 09:59:12 · 242 阅读 · 0 评论 -
POJ - 3259 Wormholes(bellman)
题目大意:n 个点 m 条边 w 个虫洞,m 行三个数表示 a 到 b 花费时间 c,w 行表示 a 到 b 时间逆流 c,即花费时间 -c,虫洞是单向的,问能否回到从前 解题思路:就是判断有无负环,权值能够无限减小。道路是双向的,虫洞是单向的,边的数组大小应该是 m×2+w ,贡献了一发 RE#include<iostream> #include<stdio.h> #include<algori原创 2017-09-17 10:08:40 · 176 阅读 · 0 评论 -
POJ - 1502 MPI Maelstrom(dijkstra/spfa)
题目大意:给出一个 n×n 邻接矩阵的下三角,x 表示不可达,A(i, j) = A(j, i),i == j 时为 0,求 1 到其余点最小花费时间中的最大值 解题思路:裸最短路 dijkstra: Time(ms):16 Mem(MB):0.2#include<iostream> #include<stdio.h> #include<stdlib.h> #include<algorith原创 2017-09-17 10:17:15 · 230 阅读 · 0 评论 -
POJ - 3660 Cow Contest (floyd)
题目大意:给出 n 头牛的强弱关系,问有几头牛能够确定排名 解题思路:为每个关系建立一条边,间接有关的用 floyd 建好,然后统计与剩余 n-1 个点都相连的点的个数#include<iostream> #include<stdio.h> #include<stdlib.h> #include<algorithm> #include<cmath> #include<string.h> #incl原创 2017-09-22 16:04:12 · 190 阅读 · 0 评论 -
POJ - 1847 Tram(spfa)
题目大意:火车从一点开到另一点,轨道上有很多岔路口,每个路口都有好几个方向,默认是第一个方向,如果要选择别的方向的话要进行一次换向操作 ,给定一个起点一个终点 ,问最少进行几次操作能够到达终点 , 如果开不到输出 -1 解题思路:转换次数作为权值,第一个路口是 0,别的是 1,求最短路#include<iostream> #include<stdio.h> #include<stdlib.h> #原创 2017-09-22 16:14:07 · 230 阅读 · 0 评论 -
HDU - 1217 Arbitrage(floyd)
题目大意:n 种钱币间进行各种汇率交换,如果能赚就 Yes,否则 No 解题思路:国家为点,汇率为边建图,用 floyd 处理,最终自己到自己的权值大于 1 说明有一个环能赚#include<iostream> #include<stdio.h> #include<stdlib.h> #include<algorithm> #include<cmath> #include<string.h> #i原创 2017-09-22 16:21:45 · 202 阅读 · 0 评论