
图论
文章平均质量分 60
yusiningxin
这个作者很懒,什么都没留下…
展开
-
二分图不带权匹配
原文链接:http://blog.youkuaiyun.com/pi9nc/article/details/11848327这篇文章讲无权二分图(unweighted bipartite graph)的最大匹配(maximum matching)和完美匹配(perfect matching),以及用于求解匹配的匈牙利算法(Hungarian Algorithm);不讲带权二分图的最佳匹配。二分转载 2015-07-26 11:50:30 · 304 阅读 · 0 评论 -
UVA 12433 Rent a Car
# include # include # include # include using namespace std;const int INF=0x3f3f3f3f;const int MAXN=205;/*转化为最小费用最大流问题:假设有5天的租车需求,虚拟出2*n+2 即 12个节点,0为源点,12为汇点。源点到1 2 3 4 5流量为r[i],费用为0。6 7 8 9原创 2015-07-29 14:13:43 · 896 阅读 · 1 评论 -
UVA 12437 Kisu Pari Na 2
无向图经过K个顶点的最少花费,每条路的权值相等均为1# include # include # include # include using namespace std;const int MAXN=1e4+10;const int INF=1e7;vectorvec[MAXN];int vis[MAXN];int ans[MAXN],num,longest,end原创 2015-07-29 16:11:16 · 398 阅读 · 0 评论 -
2015 多校第三场 Crazy Bobo
2900+ms过的# pragma comment(linker, "/STACK:1024000000,1024000000") //扩栈# include # include # include # include # include using namespace std;const int MAXN=5*1e5+100;int cnt,head[MAXN],n,原创 2015-07-29 20:47:21 · 671 阅读 · 0 评论 -
hdu 1281 二分图匹配求匹配边以及增广链
转载自: http://blog.youkuaiyun.com/mishifangxiangdefeng/article/details/7109139题目描述:在一个N*M大小的棋盘中,有K个空位置,(1)在这些空位置上最多能放多少的“车”(一行或一列最多一个)。(2)空位置中,有的位置若不放“车”,就无法保证放尽量多的“车”,这样的格子被称做重要点,求重要点的个数转载 2015-10-03 17:51:36 · 413 阅读 · 0 评论 -
二分图最大匹配的König定理及其证明(最小点覆盖等于最大匹配数)
转载自:http://www.matrix67.com/blog/archives/116二分图最大匹配的König定理及其证明 本文将是这一系列里最短的一篇,因为我只打算把König定理证了,其它的废话一概没有。 以下五个问题我可能会在以后的文章里说,如果你现在很想知道的话,网上去找找答案: 1. 什么是二分图; 2. 什么是二分图转载 2015-10-03 17:33:48 · 478 阅读 · 0 评论 -
点双连通分量
点双连通分量Tarjan方法,最近一直在做这方面的题,但是发现理解之后过几天就又不明白了,我还是记下来吧,不过现在还处于似懂非懂的阶段,如有错误请指正下面这个是Tarjan模版dfn[i]:记录dfs中的递归顺序low[I]:记录从i节点以及i节点的子树可以回溯到的最早祖先的dfn值无向图中只会存在树边和反向边,不存在跨越两棵子树的边。void Tarjan (int原创 2016-04-28 11:18:17 · 569 阅读 · 0 评论 -
最短路最长路整理
发现很多东西不记下来过一段时间就想不明白了,先整理一部分,嗯不对的地方请路过的同学指正~首先,最短路径相关算法通常依赖一个重要性质,即最短路径的子路径也是最短路。证明如下:1、Bellman-Fold算法数组dis[i]]记录从源点s到顶点i的路径长度,初始化数组dis[i]为正无穷, dis[s]为0;以下操作循环执行至多n-1次,n为顶点数:对于每一条边e(原创 2016-02-28 15:09:45 · 4941 阅读 · 1 评论 -
最小边覆盖&最小路径覆盖
最小边覆盖:在一个二分图中,找出一些边,使这些边覆盖所有的顶点,且任何一个顶点有且只有一条边与之关联,这样的最小的边集合。最小路径覆盖(不可相交):要求可以不是二分图,但是是有向无环图,将原图的点一分为二,连边构造二分图。答案为n-m,n是原图顶点数,m为构造图的二分图最大匹配。最小路径覆盖(可相交):先用floyd求传递闭包,然后转化为不可相交路径覆盖。证明:根据定义最小路径覆盖里要原创 2016-03-28 15:41:41 · 735 阅读 · 0 评论