模板--图论
文章平均质量分 72
努力过
喜欢coding
展开
-
【图论】【最小生成树】【kruskal+prime】
ACM模板 【kruskal+并查集模板】 kruskal的时间复杂度为O(MlogM) #include<stdio.h> #include<algorithm>//c++ sort头文件 using namespace std; int f[100];//数组大小按题目所给条件设定 struct edge{ int u,v,w; };//为方...原创 2017-07-24 09:56:40 · 334 阅读 · 0 评论 -
【二分匹配】【匈牙利算法即由增广路求最大匹配模板】
基本思想:先初始化匹配M为空,找到图中的一条相对于M的增广路P。对P上的路径取反,更新M,。再次寻找增广路,若不存在增广路算法结束。(有一点点稍微难理解,自己手动模拟一下这个过程就知道啦) #include #include #define N 101 int book[N],match[N]; int e[N][N]; int n,m; int dfs(int u) { int i原创 2017-08-12 11:13:05 · 658 阅读 · 0 评论 -
【图论】【最短路径模板+邻接表】【Floyed+Dijsktra+Bellman-Ford+SPFA】【最短路算法对比分析】
ACM模板 【最短路】:最短路是不包含回路的简单路径。 【Floyed】 多源最短路,即要求求出图中每两个顶点之间的最短路。虽然Floyed的复杂度是O(n^3),但是4行却简单很多,本质上是动态规划算法。 思想:从i号顶点到j号顶点只经过前k号顶点的最短路径。 #define INF 999999 int Floyd() {//初始化n个顶点 for(i =...原创 2017-08-01 07:38:21 · 2808 阅读 · 2 评论 -
【km算法模板+总结】
今天下午看了一下午的km算法,因为大佬的博客介绍非常简短,所以自己一直没有弄清楚一些细节问题,好在回来翻到了一个比较好的csdn专栏,介绍比较详细,自己才算弄懂了很多疑惑的地方,二分图最佳完美匹配。 总结一下算法: 思想:km算法就是改变一些可行点的标号,不断增加图中可行边的总数,直到图中存在仅由可行边组成的完美匹配为止。核心部分就是控制修改可行顶标的值直到最终可到达一个完美匹配。原创 2017-08-13 21:44:05 · 1050 阅读 · 0 评论