随笔分类 - 算法 图论
摘要:题目:http://poj.org/problem?id=3268 题解:使用 priority_queue队列对dijkstra算法进行优化
阅读全文
摘要:关键路径的概念和算法 转载:http://www.cnblogs.com/hongyang/p/3407666.html 这篇博客很容易理解! AOE网:在一个表示工程的带权有向图中,用顶点表示事件,用有向边表示活动,边上的权值表示活动的持续时间,称这样的有向图叫做边表示活动的网,简称AOE网。AO
阅读全文
摘要:题目:http://poj.org/problem?id=3259 题意:主要就是构造图, 然后判断,是否存在负图,可以回到原点
阅读全文
摘要:题目: http://poj.org/problem?id=2139 题解:N只牛,在一组的两只牛,分别两只之间为 “1度”,自己到自己为0度,M组牛。求,N只牛之中,两只牛之间 平均最短度数*100。模板Floyd算法,求任意两点之间最短路径。
阅读全文
摘要:1 #define _CRT_SECURE_NO_WARNINGS 2 /* 3 4 2 1 4 1 3 10 2 4 20 5 2 3 3 6 */ 7 #include 8 #include 9 #include 10 #include 11 using namespace std; 12 13 const int maxn = 10000 + 200; 14 c...
阅读全文
摘要:1 #define _CRT_SECURE_NO_WARNINGS 2 /* 3 5 5 8 4 4 3 6831 5 1 3 4583 6 0 0 6592 7 0 1 3063 8 3 3 4975 9 1 3 2049 10 4 2 2104 11 2 2 781 12 */ 13 #include 14 #include ...
阅读全文
摘要:1 #define _CRT_SECURE_NO_WARNINGS 2 /* 3 7 10 4 0 1 5 5 0 2 2 6 1 2 4 7 1 3 2 8 2 3 6 9 2 4 10 10 3 5 1 11 4 5 3 12 4 6 5 13 5 6 9 14 15 4 4 16 0 1 100 17 1 3 200 18 1 2 250 19 2 3 100 20 *...
阅读全文
摘要://Kruskal算法按照边的权值从小到大查看一遍,如果不产生圈(重边等也算在内),就把当前这条表加入到生成树中。 //如果判断是否产生圈。假设现在要把连接顶点u和顶点v的边e加入生成树中。如果加入之前的u和v不在同一个连通分量里,那么加入e也不会产生圈。 //反之,如果u和v在同一个连通分量里,那
阅读全文
摘要:1 #define _CRT_SECURE_NO_WARNINGS 2 /* 3 7 10 4 0 1 5 5 0 2 2 6 1 2 4 7 1 3 2 8 2 3 6 9 2 4 10 10 3 5 1 11 4 5 3 12 4 6 5 13 5 6 9 14 */ 15 #include 16 #include 17 #include 18 using names...
阅读全文
摘要:1 #define _CRT_SECURE_NO_WARNINGS 2 /* 3 7 10 4 0 1 5 5 0 2 2 6 1 2 4 7 1 3 2 8 2 3 6 9 2 4 10 10 3 5 1 11 4 5 3 12 4 6 5 13 5 6 9 14 0 6 15 */ 16 #include 17 #include 18...
阅读全文
摘要:1 #define _CRT_SECURE_NO_WARNINGS 2 /* 3 7 10 4 0 1 5 5 0 2 2 6 1 2 4 7 1 3 2 8 2 3 6 9 2 4 10 10 3 5 1 11 4 5 3 12 4 6 5 13 5 6 9 14 0 6 15 */ 16 #include 17 #include 18 #include 19 #inc...
阅读全文
摘要://解法二: 需要优化的是数值的插入(更新)和取出最小值两个操作,因此使用堆就可以了。把每个顶点当前的最短距离用堆维护,在更新最短距离时,把对应的元素往根的方向移动以满足堆的性质。而每次从堆中取出的最小值就是下一次要使用的顶点。这样堆中元素共有O(|V|)个。更新和取出数值的操作有O(|E|)次,因
阅读全文