【BZOJ3073】[Pa2011]Journeys Description Seter建造了一个很大的星球,他准备建造N个国家和无数双向道路。N个国家很快建造好了,用1..N编号,但是他发现道路实在太多了,他要一条条建简直是不可能的!于是他以如下方式建造道路:(a,b),(c,d)表示,对于任意两 ...
分类:
其他好文 时间:
2017-06-15 12:38:48
阅读次数:
163
dijkstra是一种单元最短路径算法,其能在较好时间复杂度内处理这一问题。但其对负权圈的处理让人不太满意——会陷入死循环 其思想和Prim算法差不多,都是贪心。 把图中的所有点划分为两个集合:包含远点S和不包含原点S的 每次从不包含原点S的集合中找出一个离原点S最近的点(这样就没有点能够比这个点更 ...
分类:
其他好文 时间:
2017-06-08 20:29:58
阅读次数:
244
单源最短路径的模板题,感谢同学余能的帮助~ ...
分类:
其他好文 时间:
2017-05-25 19:06:12
阅读次数:
157
OJ题号:洛谷2951 思路:Dijkstra+堆优化。注意是无向图,所以加边时要正反各加一遍。 ...
分类:
其他好文 时间:
2017-05-24 21:02:38
阅读次数:
239
dijkstra(最短路)和Prim(最小生成树)下的堆优化 最小堆: down(i)【向下调整】:从第k层的点i开始向下操作,第k层的点与第k+1层的点(如果有)进行值大小的判断,如果父节点的值大于子节点的值,则修改,并继续对第k+1层与第k+2层的点进行判断和修改,否则不修改,且退出。当点向下移 ...
分类:
其他好文 时间:
2017-05-06 19:54:29
阅读次数:
198
ccf20170304地铁修建_Solution 这里最短路为所以从点1到点n的路径中最长的道路的长度。 因为1 ≤ n ≤ 100000,1 ≤ m ≤ 200000,属于稀疏图,所以使用Spfa(循环队列)较适合,如果使用dijkstra需要堆优化。 其实这道题用并查集最好,对所有道路长度从小到 ...
分类:
其他好文 时间:
2017-05-06 14:14:55
阅读次数:
501
洛谷传送门 这道水题告诉了我,堆优化的prim有时还不如朴素prim快。。。 居然记错时间复杂度了,我也真是菜。 1 #include <cstdio> 2 #include <queue> 3 #include <cmath> 4 5 using namespace std; 6 7 int n; ...
分类:
其他好文 时间:
2017-04-20 21:11:59
阅读次数:
116
题目很简单,, 但是wa了三次,, 用<vector>之前一定要记得clear()。。。简单说下 spfa的问题 和bell_forman有点类似 每次取出一个点 然后更新 并把更新了的节点入队(更新的值可能会影响到最优解) 当队列为空的时候算法结束(无法优化)这里的vis数组是为了防止重复入队 但 ...
分类:
Web程序 时间:
2017-03-07 22:55:20
阅读次数:
315