![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论
fcdljh
这个作者很懒,什么都没留下…
展开
-
tarjan算法学习
“tarjan陪伴强联通分量生成树完成后思路才闪光欧拉跑过的七桥古塘让你 心驰神往”----《膜你抄》一、tarjan求强连通分量1、什么是强连通分量?“有向图强连通分量:在有向图G中,如果两个顶点vi,vj间(vi>vj)有一条从vi到vj的有向路径,同时还有一条从vj到vi的有向路径,则称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个...转载 2018-03-21 09:44:22 · 162 阅读 · 0 评论 -
二分图最大匹配——匈牙利算法
匈牙利算法是由匈牙利数学家Edmonds于1965年提出,因而得名。匈牙利算法是基于Hall定理中充分性证明的思想,它是部图匹配最常见的算法,该算法的核心就是寻找增广路径,它是一种用增广路径求二分图最大匹配的算法。-------等等,看得头大?那么请看下面的版本:通过数代人的努力,你终于赶上了剩男剩女的大潮,假设你是一位光荣的新世纪媒人,在你的手上有N个剩男,M个剩女,每个人都可能对多名异性有好感...转载 2018-03-21 09:47:02 · 132 阅读 · 0 评论 -
一般图最大匹配——带花树算法
问题对于一个图G(V,E),它的匹配M是二元组(u,v)组成的集合,其中u,v∈V,(u,v)∈E,并且M中不存在重复的点。当|M|最大的时候,我们称M为G的最大匹配。当G是一个二分图的时候,它的最大匹配可以用经典的匈牙利算法或网络流算法求解。然而当G是一个一般的图时,直接进行增广就变得不可行了,例如下面这个例子(论文中的图):这个问题出现的原因,就是一个一般图中会含有奇环,即一个点数为2k+1,...转载 2018-03-21 09:48:58 · 500 阅读 · 0 评论 -
最小生成树学习
MST(Minimum Spanning Tree,最小生成树)问题有两种通用的解法, ①Prim算法 ②Kruskal算法(一)Prim算法【算法理解】 它是从点的方面考虑构建一颗MST,大致思想是:设图G顶点集合为U,首先任意选择图G中的一点作为起始点a,将该点加入集合V,再从集合U-V中找到另一点b使得点b到V中任意一点的权值最小,此时将b点也加入集合V;以此类推,现在的...转载 2018-03-21 10:09:39 · 189 阅读 · 0 评论 -
最短路径学习
【1】SPFA算法void spfa(){ memset(vis,0,sizeof(vis)); memset(dis,120,sizeof(dis)); queue<int>q; q.push(s); dis[s]=0,vis[s]=true; while(!q.empty()){ int u=q.front(); ...原创 2018-03-21 10:26:57 · 276 阅读 · 0 评论