图论
文章平均质量分 69
gg_gogoing
这个作者很懒,什么都没留下…
展开
-
图论结论
图的连通性有向无环图中唯一出度为0的点,一定可以由任何点出发均可达(由于无环,所以从任何点出发往前走,必然终止于一个出度为0的点)有向无环图中所有入度不为0的点,一定可以由某个入度为0的点出发可达。(由于无环,所以从任何入度不为0的点往回走,必然终止于一个入度为0的点)假定有 n 个入度为0的点,m个出度为0的点,max(m,n)就是第二个问题的解无向连通图中,如果删除某点后,图变原创 2014-09-07 10:37:46 · 1161 阅读 · 0 评论 -
acm,基本图论算法及其解释
图论基本算法其实就6个,两个生成树,4个最短路径。 之前提到过的BFS算法,优点在于不用显式构建整个图,每次找到相邻即可,发现要到达的或者访问完毕即可退出。一般用于只求最短路。技巧:设置数组,记录每个点的前驱点。但是对于DFS来说需要显式构建整个图,因为回退的时候还会到之前的点,或者通过另一种方式到达。用于求可行路径总数。技巧:强大的剪枝........----------原创 2014-06-29 16:09:36 · 4082 阅读 · 0 评论 -
ACM网络流学习
练习题目:点击打开链接 网络流建模:点击打开链接之前写过 关于网络流的算法入门,其实那么多会一个就OK.首选Dinic,递归很好写25行.邻接表时候若是无向图则是四条边解决和值问题,都并入汇点找多条不同的路径,最小费用流问题.J 模板题测试Dinic模板K 电脑公司,这个其实也可以不用拆点,不过拆点更容易想,这个是第一个需要构图的题目,完全不会.其实就是不同类型机原创 2015-02-27 10:55:24 · 2053 阅读 · 0 评论 -
网络流入门 最大流,带下界,最小费用,EK算法,Dinic算法 模板
网络流题目内容有最大流,最小费用,匹配等基础的是最大流问题,核心在于添加了反向边,让程序有修订的可能在有向图中边的权值一般+=,因为可能有多条路。正向边的数值为可以通过的最大量,反向同义。EK算法/************************************************************************//* */原创 2014-08-14 15:17:33 · 1460 阅读 · 0 评论 -
并查集(含关系并查集)
并查集用来判断元素是否在同一集合中,原创 2014-07-12 15:48:43 · 897 阅读 · 0 评论 -
二分图入门
判断一个图是不是二分图用染色法,二分图是这样一个图: 有两顶点集且图中每条边的的两个顶点分别位于两个顶点集中,每个顶点集中没有边相连接!判断二分图的常见方法:开始对任意一未染色的顶点染色,之后判断其相邻的顶点中,若未染色则将其染上和相邻顶点不同的颜色, 若已经染色且颜色和相邻顶点的颜色相同则说明不是二分图,若颜色不同则继续判断,每次用bfs/dfs遍历都可。二分图最大匹原创 2014-08-30 13:45:25 · 765 阅读 · 0 评论 -
poj 3522 枚举+kruskal
过了样例就能AC注意一点 0条边特意判断下。是否无法构成生成树也要判断#include#include#includeusing namespace std;#define maxn 110int parent[maxn];int N,M;struct edge{ int u,v,w;}edges[maxn*maxn];int cmp(void const *a,vo原创 2014-08-16 20:41:15 · 645 阅读 · 0 评论 -
图论Tarjan求割点与桥
使用Tarjan方法计算割点与桥,这里先介绍下概念。无向连通图中,如果删除某点后,图变成不连通,则称该点为割点。无向连通图中,如果删除某边后,图变成不连通,则称该边为桥。一个顶点u是割点,当且仅当满足(1)或(2) (1) u为树根,且u有多于一个子树。 (2) u不为树根,且满足存在(u,v)为树枝边(或称父子边,即u为v在搜索树中的父亲),使得dfn(u)一条无向边(u原创 2014-08-27 22:43:32 · 3063 阅读 · 1 评论 -
链式前向星,kosaraju,Tarjan,Gabow算法的理解,POJ 2186 Popular Cows(强连通分量)
今天学习了下强连通分量。主要有kosaraju,Tarjan两种算法在实际过程中,数据结构选用链式前向星的方法更简单预备:DFS可用来判断图中是否有环,展现无向图中的连通分支。通过DFS,形成一个由多棵深度优先树所组成的深度优先森林。将原先图中的边添加到该森林之后,可以将所有边定义为以下四类:1. 树边:森林中自带的边(即不在森林生成后,从原先图中添加的边)。原创 2014-08-11 23:23:20 · 1513 阅读 · 0 评论 -
HDU 4738 Caocao's Bridges
/*1.本身不连通2.多条桥相连3.守兵为0G 设为-1*/#include #include #define maxn 1005#define mem(a) memset(a,0,sizeof(a))int G[maxn][maxn];int G1[maxn][maxn];int N,M;int dfn[maxn],low[maxn];int edges[maxn原创 2014-09-07 10:33:13 · 527 阅读 · 0 评论 -
二分图学习
图论中的难见就是建图然后套用算法。特点: 只能一一对应,即XX只能有一个人。 先来一个比较好的入门资料二分图最大匹配 参考 二分图建图方法 算法的思路是不停的找增广路径, 并增加匹配的个数,增广路径顾名思义是指一条可以使匹配数变多的路径,在匹配问题中,增广路径的表现形式是一条”交错路径”,也就是说这条由图的边组成的路径, 它的第一条边是目前还没有参与匹配的,第二条边参与了匹配,第三条原创 2015-06-03 10:34:24 · 718 阅读 · 0 评论