
dijkstra
99度灰
这个作者很懒,什么都没留下…
展开
-
UVA 423 - MPI Maelstrom
题目大意:输出n,表示有n个点,完整的图为一个矩阵,相当于二维数组a[n][n]的样子,a[i][j]就是i点到j点的距离。其中只给出了下三角,x表示亮点直接不连通。输出用最短方式从1走到其他点,其中最远的距离。解题思路:dijkstra,最基本的单源点问题。ac代码:#include #include #define inf 100005using namespace std;原创 2017-09-24 22:23:41 · 307 阅读 · 0 评论 -
POJ 1797 - Heavy Transportation
题目大意:有t个样例,每个样例要求从1走到n,有m条路,每条路信息包括路的两端点,以及通过这段路的时间。求走到n使得走的各段路的最小值为最大的。解题思路:dijkstra,修改一下寻找的。dis[i]表示走到i各段路的最小值的最大。初始化为0,先找出距离起点最远的,用最远的进行松弛,松弛操作改变一下就可以了。ac代码:#include #include #include usin原创 2017-09-22 15:09:08 · 313 阅读 · 0 评论 -
POJ 2387 - Til the Cows Come Home
题目大意:由1走到n的最短时间,t条路,每条路包括两个点,以及从一点走到另一点需要花的时间。解题思路:dijkstra算法。做法是这样的,首先初始化,将所有的点之间的距离初始化为INF,以及除了起点1以外的与起点的距离也初始化为INF。输入的距离与此时两点之间的距离取小更新为两点之间的距离(之后的输入可能有更短的距离),算法循环n次,每次查找一个到起点的最短距离,并标记,下次不会再取同一点原创 2017-09-06 16:00:42 · 271 阅读 · 0 评论 -
POJ 3268 - Silver Cow Party
题目大意:有N头牛住在编号1~N的房子,一共有M条单向道路,每条路包括起点、终点、时间,有一天,所有牛要到编号X的房子聚会,聚会结束后要回自己房子,问所有牛中走的最远的需要走多久。所有牛都走自己所能走的最短路。解题思路:如果用floyd会超时,用两次dijkstra就可以了,第一次是所有牛从X回到自己房子的最短路,就是单源点,第二次是所有牛到X,如果把所有的路都反向来看,结果就也是从X回到原创 2017-09-06 16:01:18 · 277 阅读 · 0 评论 -
UVA 534 - Frogger
题目大意:有n块石头,A在第一块石头,B在第二块石头上。问,A要到B位置,他的跳跃距离至少要多少。解题思路:dijkstra,要使跳跃距离最小,也就是A到B的路径中最大的距离最小。将d[i]定义为A到第i块石头最小的跳跃距离。在松弛时修改条件就可以了。ac代码:#include #include #include #define INF 200005using name原创 2017-09-06 16:02:08 · 346 阅读 · 0 评论