图论-连通图
连通图
IDrandom
菜菜菜
展开
-
poj2186 Popular Cows(强连通分量)(korasaju||tarjan模板题)
题目链接:http://poj.org/problem?id=2186 题意很简单,给你一个有向图,问其中有几个点可以由任意点所到达 求强连通分量然后缩点,找到出度为零的强连通分量,如果出度为零的强连通分量大于一个,则答案不存在,否则答案为该强连通分量中点的个数。 先用Korasaju算法做了一遍,这个比较好理解,正着dfs一遍标记结束时间,然后根据结束时间从后到前对反图做一遍dfs求连通块,原创 2016-07-29 14:39:35 · 587 阅读 · 0 评论 -
poj1236Network of Schools
题目链接:http://poj.org/problem?id=1236 题意就是,有许多学校连接在一个网络上,每个学校有一个list,可以将软件从自己传到list上的学校,现在告诉你list,让你求两个问题: 1.最少给多少个学校发软件,然后让它们传,最后能使所有学校都拿到这个软件 2.最少向list增添多少个学校(也即加边),能使不管任意一个学校拿到这个软件,都能使所有学校拿到这个软件,也即原创 2016-08-08 20:00:05 · 372 阅读 · 0 评论 -
图的割点、桥与双连通分支
[点连通度与边连通度]在一个无向连通图中,如果有一个顶点集合,删除这个顶点集合,以及这个集合中所有顶点相关联的边以后,原图变成多个连通块,就称这个点集为割点集合。一个图的点连通度的定义为,最小割点集合中的顶点数。类似的,如果有一个边集合,删除这个边集合以后,原图变成多个连通块,就称这个点集为割边集合。一个图的边连通度的定义为,最小割边集合中的边数。[双连通图、割点与桥]如果一个无向连通图的点连通度大转载 2016-08-10 16:36:25 · 466 阅读 · 0 评论 -
poj3694Network(lca+边双连通缩点)
POJ3694Network 这题意思就是给你一个计算机网络,所有计算机互相直接或间接相连,然后给你一些询问,询问每次添加一条边后还有多少桥边。 先把边双连通的部分缩点,然后就变成了一颗树 每一次询问就是删去LCA路径上的桥边,因为树上连一条边会形成一个环,那么环上的边就都不是桥 这题数据比较水,似乎是不考虑重边也能过,而且做法是O(qn)居然也能过.#include<iostream>#原创 2016-08-23 19:07:54 · 417 阅读 · 0 评论 -
UVA315-Network(求割点个数,模板题)||tarjan
这个就是很裸的求割点的个数 关于割点什么的可以参考:http://blog.csdn.net/idrandom/article/details/52173817#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int Max=10050;stru原创 2016-08-10 19:06:35 · 634 阅读 · 0 评论 -
UVA796Critical Links(求桥)(tarjan模板题)
题目链接:UVA796Critical Links 给你一个无向图,让你把桥边输出 1.这图不一定连通。 2.边按字典序输出#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm>using namespace std;const int Max = 200010;原创 2016-08-12 16:39:58 · 487 阅读 · 0 评论