![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论_模板
hxc2101
这个作者很懒,什么都没留下…
展开
-
匈牙利算法模板 (二分图最大匹配)
//二分图匹配(匈牙利算法的DFS实现)(邻接矩阵形式)//初始化:g[][]两侧顶点的可连接情况//建立g[i][j]表示i->j的有向边就可以了,是左边向右边的匹配//g没有边相连则初始化为0//uN是左边的顶点数,vN是右边的顶点数//lnk[]表示的是右侧点的归属,use是对某次查找时是否修改的标记//调用:ans=hungary();输出最大匹配数//优点:适用于稠...原创 2018-09-10 21:35:58 · 373 阅读 · 2 评论 -
prim模板 (最短路)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=13011.三步初始化!!!2.注意 原先的图是否是连通的 若可能不连通需要判断 if(p==-1) 或 if(mi==inf) 的情况/*d[][]邻接矩阵 必须初始化为inf: memset(d,0x3f,sizeof(d))(inf每个字节都是0x3f)lw[] 集合外的点i 到集...原创 2018-08-21 15:45:07 · 381 阅读 · 0 评论 -
kruskal模板 (最短路)
运行时注意编译不通过的那几行中的注释,与题目有关做题以后可以再留意一下注释 + sort 边的时间 ://并查集int pre[maxn],rnk[maxn]; //要的是结点数的范围inline void init(int n) {for(int i=0;i<=n;i++) pre[i]=i,rnk[i]=0;} //注意这里可能 会需要改一下 i 的范围inline...原创 2018-08-23 01:53:59 · 231 阅读 · 0 评论 -
tarjan 求割点/割边模板
求割点/割边://fa为当前结点的父亲结点,dep记录当前深度,初始化为0//dfn为搜索树中的次序号,初始化为-1//每个点被访问时都会将dfn置为当前dep,注意是 ++dep,不是dep++,low数组随着搜索更新vector<int>edg[maxn];int dfn[maxn],low[maxn];int dep=0,child=0;void tarjan(...原创 2018-09-08 11:45:33 · 2127 阅读 · 0 评论