最短路径
文章平均质量分 56
编码思考
这个作者很懒,什么都没留下…
展开
-
[最短路径] HDU 1874 - 畅通工程续
最短路径简单题,用Dijkstra做的。需要注意的地方:1、输入中的两点之间的距离,可能存在重边,要选取最小的距离。2、当S和T相等时,输出0。#include #include #include #include #include #include #include #include #include #include #include #include原创 2015-01-09 00:33:19 · 747 阅读 · 0 评论 -
[最短路径] HDU 1690 - Bus System
给定车辆的收费标准与路程区间的关系如下: 路程区间 花费 (0, L1] C1 (L1, L2] C2 (L2, L3] C3 (L3, L4] C4 (L4, +∞] 没票 接着输入两个整数N, M。 接着输入N个车站所在的横坐标,这N个车站是在一条直线上的。 接下来有M个询问,Si, Ei分别代表起点和终原创 2015-02-15 14:42:35 · 679 阅读 · 0 评论 -
[最短路径] HDU 1596 - find the safest road
此题可以利用求最短路径的思想来解决,贪心的过程每次找最大值即可。#include <stdio.h>#include <string.h>#include <math.h>#include <stdlib.h>#include <algorithm>#include <iostream>#include <set>#include <map>#incl原创 2015-02-13 23:21:13 · 554 阅读 · 0 评论 -
[最短路径、BFS] HDU 1548 - A strange lift
题意简述: 第一行输入三个整数N、A、B,分别代表楼的层数,开始楼层和结束楼层。 第二行输入N个整数,代表在当前楼层只能向上或向下移动的层数。 问从楼层A到楼层B至少需要按几次?如果不能到达,输出”-1”。 题目分析: 由题意可知,从楼层A开始,可以向上到达A+Ki(A+ki <= N)楼层,向下到达A-Ki楼层(A-Ki >= 1)。 并且每个楼层向上或向下到达原创 2015-02-11 23:29:56 · 637 阅读 · 0 评论 -
[最短路径] POJ 1062 - 昂贵的聘礼
本题题意比较难懂,说白了就是兑换的过程中,最高等级-最低等级<=M,否则不能进行兑换。由于M范围较小,可以枚举等级的区间。 举个例子:假设主人等级为3,M为2。 那兑换的过程中每个人的等级一定在[1,3] 或 [2,4] 或 [3,5]中的某个区间中。 枚举这个区间,然后倒着求最短路即可。注意本题是有向图。#include <stdio.h>#include <string.h>原创 2015-02-05 23:17:09 · 672 阅读 · 0 评论 -
[最短路径] HDU 1869 - 六度分离
跑N遍Dijkstra即可,时间复杂度大概是O(N3)的样子。#include #include #include #include #include #include #include #include #include #include #include #include typedef long long LL;const int INF = 500000001原创 2015-01-20 20:14:50 · 725 阅读 · 0 评论 -
[最短路径] HDU 2066 - 一个人的旅行
题目就是求S个起点到N个终点的的最短路径。注意重边,Dijkstra做的~#include #include #include #include #include #include #include #include #include #include #include #include typedef long long LL;const int INF = 5原创 2015-01-20 20:59:08 · 728 阅读 · 0 评论 -
[最短路径] HDU 2544 - 最短路
最短路裸题,用Dijkstra做的。#include #include #include #include #include #include #include #include #include #include #include #include typedef long long LL;const int INF = 500000001;const doubl原创 2015-01-19 23:18:15 · 657 阅读 · 0 评论 -
[最短路径] HDU 2680 - Choose the best route
题目大意:输入n,m,s 分别代表公交站的数量(1~n),接下来输入m条路径, s是kiki朋友家的公交站。最后输入一个数字w,代表kiki可以从下面w行数字中的任意站点上车。求kiki到他朋友家的最短路径。简单分析:由于起点存在多个,终点仅仅存在一个。那么可以倒着做这道题,用Dijkstra即可。注意:1、站点是之间的路是有向图,之前当成无向图WA了一次。#inc原创 2015-01-09 02:21:38 · 659 阅读 · 0 评论 -
[最短路径] HDU 2112 - HDU Today
最短路径 - Dijkstra算法。单源点最短路径算法,适用于求两点之间的最短路径。由当前最优解递推全局最优解,每次寻找距离起点最近的结点,进行路径更新,具体证明在这里就不写了。本题注意:1、此图是无向图2、结点到自己的距离是03、起点和终点在图中可能没有#include #include #include #include #include #include原创 2015-01-08 16:53:20 · 686 阅读 · 0 评论 -
[算法导论] 单源最短路径 - Dijkstra 学习笔记
Dijkstra采用的是贪心策略,为什么这种策略是正确的呢?下面我来简单说一下我的学习心得。首先假设起点为s,终点为e。δ(s,e)代表两点的最短路径权值。ω(s,e)代表δ(s,e)经过的结点。首先定义s到其他顶点的权值为+∞,即δ(s,x) { x ∈ 图中顶点 }。再定义δ(s,s) = 0。此时由于δ(s,x) = 0 {x ∈ 图中顶点, x != s }。对s直接相原创 2015-01-14 00:40:35 · 1140 阅读 · 0 评论