E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
双连通分量
POJ 3352 (边
双连通分量
)
解题思路: 首先来看下边
双连通分量
的定义: 如果任意两点至少存在两条“边不重复”的路径,那么说这个图是边双连通的。
·
2015-11-12 13:47
poj
Tarjan应用:求割点/桥/缩点/强连通分量/
双连通分量
/LCA(最近公共祖先)【修改】
一、基本概念: 1.割点:若删掉某点后,原连通图分裂为多个子图,则称该点为割点。 2.割点集合:在一个无向连通图中,如果有一个顶点集合,删除这个顶点集合,以及这个集合中所有顶点相关联的边以后,原图变成多个连通块,就称这个点集为割点集合。 3.点连通度:最小割点集合中的顶点数。 4.割边(桥):删掉它之后,图必然会分裂为两个或两个以上的子图。 5.割边集合:如果有一个边集合,删除这个边集合
·
2015-11-12 10:09
tar
POJ 3352 Road Construction (边
双连通分量
)
题目链接 题意 :有一个景点要修路,但是有些景点只有一条路可达,若是修路的话则有些景点就到不了,所以要临时搭一些路,以保证无论哪条路在修都能让游客到达任何一个景点 思路 :把景点看成点,路看成边,看要加几条边使这个图变成双连通图。一开始我以为只要求出桥的个数,然后在每个桥的地方加一条边就行了,后来发现不是。 例如:这个图中,桥有4条,但实际上只需要在1跟10,10跟9中间加两条边就行了。所以
·
2015-11-12 09:30
struct
POJ 2942 Knights of the Round Table(
双连通分量
)
http://poj.org/problem?id=2942 题意 :n个骑士举行圆桌会议,每次会议应至少3个骑士参加,且相互憎恨的骑士不能坐在圆桌旁的相邻位置。如果意见发生分歧,则需要举手表决,因此参加会议的骑士数目必须是奇数,以防止赞同和反对的票一样多,知道哪些骑士相互憎恨之后,你的任务是统计有多少个骑士不可能参加任何一个会议。 思路 :这个题牵扯的知识点挺多的,具体的可以参考白书上解释的
·
2015-11-12 09:20
table
POJ 3694 Network(
双连通分量
)
思路 :
双连通分量
,用LCA #include <iostream> #include <vector> #include <queue> #include
·
2015-11-12 09:20
NetWork
POJ 3117 Redundant Paths(无向图的双连通)
先把能构成
双连通分量
的环缩成一个点,缩点之后的图基本上就是一个树形的了; 2. 找到度为 1 的叶子节点个数 leaf,则输出的结果便是 (leaf + 1)/ 2。 3.
·
2015-11-12 08:42
Path
uva 10972 RevolC FaeLoN cdoj 方老师和农场
//自己写的第一发tarjan 解:先进行双连通分解并缩点,分解后一定是一颗树,设叶节点个数为n那么答案就是(n+1)/2 关于
双连通分量
求解:在跑tarjan时判断每个点连向父节点的边是否是桥,如果是桥的话
·
2015-11-11 13:44
uva
poj 3352
双连通分量
至少加几条边成为
双连通分量
#include <iostream> #include <cstdio> #include <cstring>
·
2015-11-11 10:45
poj
POJ 3694 Network ★(边
双连通分量
+并查集缩点+LCA)
所以我们需要“动态地”在原图的基础上求桥~ 我们可以先把图求一次边
双连通分量
(BCC)然后缩点,因为同一
双连通分量
中没有桥,加边没有影
·
2015-11-11 07:49
NetWork
POJ 3694 Network ★(边
双连通分量
+并查集缩点+LCA)
所以我们需要“动态地”在原图的基础上求桥~ 我们可以先把图求一次边
双连通分量
(BCC)然后缩点,因为同一
双连通分量
中没有桥,加边没有影
·
2015-11-11 07:48
NetWork
POJ 2942 Knights of the Round Table ★(点
双连通分量
+二分图判定)
[分析]注意到,在不同点
双连通分量
中的两个点,显然是不会存在圈的.那么这样,问题就划归为在点
双连通分量
中去找奇圈。
·
2015-11-11 07:43
table
POJ 2942 Knights of the Round Table ★(点
双连通分量
+二分图判定)
[分析]注意到,在不同点
双连通分量
中的两个点,显然是不会存在圈的.那么这样,问题就划归为在点
双连通分量
中去找奇圈。
·
2015-11-11 07:43
table
POJ 3352&&3177 (割边 && 边
双连通分量
)
题目:加几条边才能使原图变成边
双连通分量
。 [求割边]对图深度优先搜索,定义DFS(u)为u在搜索树(以下简称为树)中被遍历到的次序号。
·
2015-11-11 07:40
poj
POJ 3352&&3177 (割边 && 边
双连通分量
)
题目:加几条边才能使原图变成边
双连通分量
。 [求割边]对图深度优先搜索,定义DFS(u)为u在搜索树(以下简称为树)中被遍历到的次序号。
·
2015-11-11 07:40
poj
POJ 1523 SPF (割点 && 点
双连通分量
)
题意:求出割点以及除去割点后的连通分量的数量(附带求出了点
双连通分量
(块)) [求割点]对图深度优先搜索,定义DFS(u)为u在搜索树(以下简称为树)中被遍历到的次序号。
·
2015-11-11 07:39
poj
POJ 1523 SPF (割点 && 点
双连通分量
)
题意:求出割点以及除去割点后的连通分量的数量(附带求出了点
双连通分量
(块)) [求割点]对图深度优先搜索,定义DFS(u)为u在搜索树(以下简称为树)中被遍历到的次序号。
·
2015-11-11 07:38
poj
构造强连通图
我们知道,要把一个非边双连通图构造成一个边双连通图,只需把这个图化简(边
双连通分量
缩点)成一个树,然后 找出叶子节点个数leaf,(leaf+1)/2就是要新添加的边数。
·
2015-11-11 03:40
图
无向图边
双连通分量
+构造双连通图
边
双连通分量
: 边连通度大于1的连通分量 在树中至少添加多少边能使得图变为边双连通图 ? 添加的边=(叶子节点+1)/2.
·
2015-11-11 03:37
图
POJ 3352 无向图边
双连通分量
,缩点,无重边
所以今天特意找了道求无向图边
双连通分量
,然后缩点的题学习一下,这道题的缩点和昨天那道差不多,唯一的区别就是这是无重边的,那题是有重边的。 先搞掉这个,下午
·
2015-11-11 03:29
poj
hdu3849-By Recognizing These Guys, We Find Social Networks Useful:
双连通分量
By Recognizing These Guys, We Find Social Networks Useful Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 125536/65536 K (Java/Others)Total Submission(s): 2354
·
2015-11-10 22:58
NetWork
hdu2460-Network:边的
双连通分量
题目大意:给出一个无向图以及Q次询问,每次询问增加一条无向边,要求输出增加这条边后剩余的桥的数目。 算法:类似于求割点的方法,先做一次dfs求出所有的桥,并且维护这棵dfs树,当一次询问加入一条边(a,b)之后,会在dfs上形成一个环,在这个环上的桥都变为非桥,这个环肯定经过a和b的LCA,此时我们只需在求LCA的过程中把经过的为桥的树边标记为非桥,同时cnt_bridge--再输出即可。 需
·
2015-11-10 22:56
NetWork
图论-桥/割点/
双连通分量
/缩点/LCA
基本概念: 1.割点:若删掉某点后,原连通图分裂为多个子图,则称该点为割点。 2.割点集合:在一个无向连通图中,如果有一个顶点集合,删除这个顶点集合,以及这个集合中所有顶点相关联的边以后,原图变成多个连通块,就称这个点集为割点集合。 3.点连通度:最小割点集合中的顶点数。 4.割边(桥):删掉它之后,图必然会分裂为两个或两个以上的子图。 5.割边集合:如果有一个边集合,删除这
·
2015-11-10 22:08
图论
HDU 4612 Warm up (边
双连通分量
+DP最长链)
【 题意】给定一个无向图,问在允许加一条边的情况下,最少的桥的个数 【 思路】对图做一遍Tarjan找出桥,把
双连通分量
缩成一个点,这样原图就成了一棵树,树的每条边都是桥。
·
2015-11-08 16:56
HDU
HDU 4612 Warm up (边
双连通分量
+DP最长链)
【 题意】给定一个无向图,问在允许加一条边的情况下,最少的桥的个数 【 思路】对图做一遍Tarjan找出桥,把
双连通分量
缩成一个点,这样原图就成了一棵树,树的每条边都是桥。
·
2015-11-08 16:43
HDU
poj2942
建图方法是将没有矛盾的骑士连边,求
双连通分量
(关于点的)。对于每个
双连通分量
,看是否存在奇环,若存在那么这个
双连通分量
中的任意两骑士都可以同时出现在一个奇环里。原因如下: 因为每个不在
·
2015-11-07 12:37
poj
zoj3378 双连通 求桥、割边 dfs
如果不知道什么双连通:
双连通分量
这题和以前的双连通有点不太一样,以前求得时候都是整个图的割边,这里求得是两点间的割边,结题报告上说了一种暴力的方法,首先求出所有割边,然后求一次最短路,则割边和最短路径求一次交集
·
2015-11-03 22:41
DFS
pku3352 (边)
双连通分量
Road Construction 题目大意:在一个小岛上,有n个景点,r条道路,经常由于有的路需要修理,影响了旅客的观光。问:如果修理任意一条路的时候都不影响任意两个景点的连通,至少还需要多少条路。 分析:以景点为节点,道路为边,建图后,去掉任何一条边,都不影响整体的连通性,说明此图的连通度 >= 2,正好是双连通的性质,如果去掉某条边,图的连通分支增加了,则这条边称为桥,这道题就可以
·
2015-11-03 22:38
pku
点
双连通分量
的求解
//点
双连通分量
的求解//就是通过tarjan算法求出关节点时,与关节点的子树就是一个连通分量,可以通过画图得到//所以可以将与顶点u有关的边放到栈中,然后一但满足low[v]>=dfn[u](表面点
·
2015-11-03 21:49
pku 3711 Redundant Paths
双连通分量
。 题目大意:给出一个连通图,求至少添加多少条边,使得对于任意亮点,不只一条路。即两点间的路去掉一条边还是连通的。
·
2015-11-02 15:22
Path
hdu 2242(边
双连通分量
)
pid=2242 思路:Tarjan求边
双连通分量
,进行缩点后成树,然后就是树型dp,求一下最小差值就行了。
·
2015-11-02 11:45
HDU
poj 2942 Knights of the Round Table(点
双连通分量
+二分图判定)
题目链接:http://poj.org/problem?id=2942 题意:n个骑士要举行圆桌会议,但是有些骑士相互仇视,必须满足以下两个条件才能举行: (1)任何两个互相仇视的骑士不能相邻,每个骑士有两个相邻的骑士(即如果只有一个骑士,则不能举行会议) (2)圆桌会议坐下的骑士数量必须为奇数个 有一张名单列出m个相互仇视的骑士,如果遵守以上两个规则,可能是某些骑士不可能被安排坐下,一种
·
2015-11-02 09:29
table
poj 1144(割点)
分析:
双连通分量
Tarjan算法直接求割点就行了,裸的模板题。
·
2015-11-02 09:27
poj
2013杭州网赛 1001 hdu 4738 Caocao's Bridges(
双连通分量
割边/桥)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4738 题意:有n座岛和m条桥,每条桥上有w个兵守着,现在要派不少于守桥的士兵数的人去炸桥,只能炸一条桥,使得这n座岛不连通,求最少要派多少人去。 分析:只需要用Tarjan算法求出图中权值最小的那条桥就行了。但是这题有神坑。 第一坑:如果图不连通,不用派人去炸桥,直接输出0 第二坑:可能会有重
·
2015-11-02 09:24
bridge
poj 1523 SPF(
双连通分量
割点模板)
题目链接:http://poj.org/problem?id=1523 题意:给出无向图的若干条边,求割点以及各个删掉其中一个割点后将图分为几块。 题目分析:割点用tarjan算法求出来,对于每个割点,dfs一次图,求出有几块不连通的子图。 AC代码: 1 #include<cstdio> 2 #include<cstring> 3 cons
·
2015-11-02 09:23
poj
hdu 4612 边双联通 ***
(有重边) 链接:点我 先求
双连通分量
,缩点形成一个生成树,然后求这个的直径,割边-直径即是答案 1 #pragma comment(linker, &
·
2015-11-01 15:23
HDU
pku 3117 pku 3352 割边以及
双连通分量
问题
首先求出该图中的割边(桥)然后删除桥,剩下的就都是边
双连通分量
了,然后将其缩成一个点,再把桥加上就死形成了一棵树,边连通度为1.记录叶
·
2015-11-01 14:50
pku
poj 3352(边
双连通分量
)
题目链接:http://poj.org/problem?id=3352 思路:可以求出所有的桥,把桥删掉。然后把所有的连通分支求出来,显然这些连通分支就是原图中的双连通分支。把它们缩成点,然后添上刚才删去的桥,就构成了一棵树。在树上添边使得树变成一个双连通分支即可,这里我们可以直接统计缩点后的叶子节点个数即可,从而要加的边数即为(叶子节点个数+1)/2. 1 #include<
·
2015-11-01 13:13
poj
POJ 3177 Redundant Paths (桥,边
双连通分量
,有重边)
题意:给一个无向图,问需要补多少条边才可以让整个图变成【边双连通图】,即任意两个点对之间的一条路径全垮掉,这两个点对仍可以通过其他路径而互通。 思路:POJ 3352的升级版,听说这个图会给重边。先看3352的题解http://www.cnblogs.com/xcw0754/p/4619594.html。 其实与3352不同的就是重边出现了怎么办?假如出现的
·
2015-11-01 10:19
Path
POJ 3352 Road Construction(边
双连通分量
,桥,tarjan)
题解转自http://blog.csdn.net/lyy289065406/article/details/6762370 文中部分思路或定义模糊,重写的红色部分为修改过的。 大致题意: 某个企业想把一个热带天堂岛变成旅游胜地,岛上有N个旅游景点,保证任意2个旅游景点之间有路径连通的(可间接连通)。而为了给游客提供更方便的服务,该企业要求道路部门在某些道路增加
·
2015-11-01 10:16
struct
HDU 3749 Financial Crisis 经济危机(并查集,割点,点
双连通分量
)
题意:给一个图n个点m条边(不一定连通),接下来又q个询问,询问两个点是为“不相连”,“仅有一条路径可达”,“有两条及以上的不同路径可达”三种情况中的哪一种。注:两条以上的路径指的是路径上的点连1个点也不重复。 思路:并查集+tarjan求割点。 (1)情况一:先并查集处理,如果两个点从一开始就不连通,直接输出zero (2)情况二和情况三:两点既然连
·
2015-11-01 10:15
HDU
求
双连通分量
的详解。(根据刘汝佳的训练指南p314)
无向图的
双连通分量
点-双连通图:一个连通的无向图内部没有割点,那么该图是点-双连通图。
·
2015-11-01 10:14
详解
如何将无向图变为点/边双连通,如何将有向图变为强连通图
将无向图变为点-双连通的图 定义:点-双连通指的是任意两个之间存在至少两条点不重复的路径 分为两种情况, 一种是连通图,一种是非连通图 ①连通图 首先,找出图中的所有点-
双连通分量
·
2015-11-01 09:54
图
poj 3694 Network(割边+lca)
分析:通常的做法是:先求出该无向图的桥的数目count和边
双连通分量
,缩点,每次加边(u,v),判断若u,v属于同一个
双连通分量
,则桥的数目不变,否则,桥的数目必定会减少,这时桥减少的数目明显和最近公共祖先
·
2015-11-01 08:23
NetWork
poj 3177 Redundant Paths(边
双连通分量
+缩点)
分析:在同一个边
双连通分量
中,任意两点都有至少两条独立路可达,所以同一个边
双连通分量
里的所有点可以看
·
2015-11-01 08:22
Path
poj 3352 Road Construction(边
双连通分量
+缩点)
题目链接:http://poj.org/problem?id=3352 这题和poj 3177 一样,参考http://www.cnblogs.com/frog112111/p/3367039.html AC代码: 1 #include<cstdio> 2 #include<cstring> 3 const int N=5000+5; 4 con
·
2015-11-01 08:21
struct
POJ 3177 Redundant Paths
思路:求出
双连通分量
然后“缩点”之后去求叶子节点。判断入度为1的缩点,ans = (leaf+1)/2;注意判重边,因为重边可能影响Tarjan算法中的low[u]的值。
·
2015-10-31 17:35
Path
双连通分量
的求解
双连通分量
是图论中的一个重要模型,它的求解方式和割顶的差不多。代码里用一个栈来保存
双连通分量
中的点。
dengjinghan
·
2015-10-31 15:20
图论
pku2942 (点)
双连通分量
求割点 判奇圈
Knights of the Round Table 这题还是比较难了,我刷了两天,终于弄懂什么意思了,杯具!点双连通,指的是,去掉任何一个点以及这个点的临边,都不影响整个图的连通性。可以这样认为,任意两点都有两条完全不同的路可达,也就构成了圈。 题目大意:国王身边有n个骑士,每次开会需要奇数个骑士来开会,会议桌是个圆桌,给出m个点对<A, B>,表示骑士A和B不能坐在一起,问:有
·
2015-10-31 15:15
pku
pku3177 (边)
双连通分量
求桥
初学
双连通分量
,刷了第一道题,纪念!
·
2015-10-31 15:14
pku
hdu 3671 Boonie and Clyde
双连通分量
题意:给一个无向图,要求毁掉两个点,使图变得不连通,图一开始是连通的 因为要毁掉两个点,就不是简单的求割点,再看看数据范围,点数为1000,边数为10000,Tarjan的时间复杂度为O
·
2015-10-31 14:06
HDU
上一页
3
4
5
6
7
8
9
10
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他