随笔分类 -  图论——Dijkstra

摘要:题目链接:http://poj.org/problem?id=2449 dijkstra算法中,一个点第一次从堆中出来的时候一定是最短路,第K次出来的时候一定是第k短路。 求解中可以使用A*设计估价函数使得结果朝着目标更快的收敛,本题设计的估计函数是该点到终点的最短路,因为这个最短路一定是小于目标函 阅读全文
posted @ 2020-06-21 11:34 WA自动机~ 阅读(222) 评论(0) 推荐(0)
摘要:题目链接:http://icpc.njust.edu.cn/Problem/Hdu/6026/ 题意大致是:给定一个图,要求删边使他变成树,使得每个点到0的距离就是原图中0到这个点的最短路径。其实就是最短路树。 证明1: 对于每个结点我们只要知道有多少条路径到它的距离是最短路长度,记为cnt,那么就 阅读全文
posted @ 2020-03-23 14:01 WA自动机~ 阅读(138) 评论(0) 推荐(0)
摘要:题目链接:http://icpc.njust.edu.cn/Problem/Hdu/2112/ 只要需处理一下字符串,给他个编号再跑一半dijkstra就行。 代码如下: 1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef unsig 阅读全文
posted @ 2020-03-23 13:02 WA自动机~ 阅读(189) 评论(0) 推荐(0)
摘要:题目链接:https://www.luogu.com.cn/problem/P1339 朴素dijkstra算法的复杂度是O(n^2),用堆优化的dijkstra复杂度是O(nlogn)的。在本题中前向星存边的时间消耗大约是113ms,空间消耗大约是8M,而在矩阵存边中时间消耗大约是125ms,空间 阅读全文
posted @ 2020-03-23 09:18 WA自动机~ 阅读(169) 评论(0) 推荐(0)