Dijkstra+ 链式前向星+ 优先队列 Dijkstra算法 Dijkstra最短路算法,个人理解其本质就是一种广度优先搜索。先将所有点的最短距离Dis[ ]都刷新成∞(涂成黑色),然后从起点x (Dis[x]= 0, Dis[]值最小 )开始查询;先将x 加入(涂成灰色),对x 的所有边进行遍 ...
分类:
其他好文 时间:
2019-03-18 13:42:56
阅读次数:
180
L3-007 天梯地图 (30 分) 本题要求你实现一个天梯赛专属在线地图,队员输入自己学校所在地和赛场地点后,该地图应该推荐两条路线:一条是最快到达路线;一条是最短距离的路线。题目保证对任意的查询请求,地图上都至少存在一条可达路线。 输入格式: 输入在第一行给出两个正整数N(2 ≤ N ≤ 500 ...
分类:
其他好文 时间:
2019-03-15 01:10:37
阅读次数:
178
一、单源最短路径:迪杰斯特拉 思路:一个S集合存已经遍历的顶点,一个Q集合存未遍历的顶点。一个dist列表存从初始点到当前点的最短路径,即dist[i] 表示初始点到i所需的最短距离。 伪代码: 代码: ...
分类:
编程语言 时间:
2019-03-10 09:18:56
阅读次数:
196
最优子结构是依赖特定问题和子问题的分割方式而成立的条件。各子问题具有最优解,就能求出整个问题的最优解,此时条件成立。 比如求广州到北京的最短距离,假设这个路径必经过中间的南京,那么先把路径分割为(广州,南京)和(南京,北京)。分别求出子路径的最短距离然后再连接,就可以得到广州到北京的最短路径。 因此 ...
分类:
其他好文 时间:
2019-03-03 20:58:13
阅读次数:
245
【链接】 "我是链接,点我呀:)" 【题意】 你可以往左最多x次,往右最多y次 问你从x,y出发最多能到达多少个格子 只能往上下左右四个方向走到没有障碍的格子 【题解】 假设我们从(r,c)出发想要到固定某个点(i,j)的最短距离 我们设x0为向左走动的次数,y0为向右走动的次数 显然(j c)=y ...
分类:
其他好文 时间:
2019-03-02 01:02:24
阅读次数:
202
题目: 在上一篇博客的基础上,这是另一种方法求最短路径的问题。 Dijkstra(迪杰斯特拉)算法:找到最短距离已经确定的点,从它出发更新相邻顶点的最短距离。此后不再关心前面已经确定的“最短距离已经确定的点”。 Dijkstra算法采用的是一种贪心的策略,声明一个数组dis来保存源点到各个顶点的最短 ...
分类:
编程语言 时间:
2019-02-22 01:06:48
阅读次数:
241
POJ2449 第K短路 改了好长时间发现读入读反了qwq A*,先在反向图上求出每个点到t的最短距离,作为估价函数即可 疑问:能不能直接记录h+g 1 #include <cstdio> 2 #include <cstring> 3 #include <cctype> 4 #include <al ...
分类:
其他好文 时间:
2019-02-17 11:01:32
阅读次数:
201
例题链接 分析:迪杰斯特拉算法的核心思想就是每次选择最短的距离,用这个最短距离来更新相邻顶点的最短距离,并且在更新完毕后这个最短距离不需要再考虑,而优先队列恰好契合迪杰斯特拉算法的要求,用来优化正合适 优化后的时间复杂度为O(E log V)。 ...
分类:
编程语言 时间:
2019-02-13 22:48:22
阅读次数:
358
题目: 输入两个格子的编号a和b(a,b≤10000),求最短距离。例如,19和30的距离为5(一条最短路是19-7-6-5-15-30)。 思路: 如图建立坐标系,然后看两个点的向量如果位于二四象限答案为向量坐标绝对值的和,向量位于一三象限答案为向量坐标绝对值的最大值。 看网上的博客的思路……(菜 ...
分类:
其他好文 时间:
2019-02-10 20:23:20
阅读次数:
168
BellMan-ford算法描述 1.初始化:将除源点外的所有顶点的最短距离估计值 dist[v] ← +∞, dist[s] ←0; 2.迭代求解:反复对边集E中的每条边进行松弛操作,使得顶点集V中的每个顶点v的最短距离估计值逐步逼近其最短距离;(运行|v|-1次) 3.检验负权回路:判断边集E中 ...
分类:
编程语言 时间:
2019-02-05 18:25:35
阅读次数:
211