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
强连通分量(tarjan算法)
POJ3352Road Construction(无向图强连通)
id=3352 无向图
强连通分量
缩点 知道一个等式: 若要使得任意一棵树,在增加若干条边后,变成一个双连通图,那么 至少增加的边数 =( 这棵树总度数为1的结点数 + 1 )/ 2 1
·
2015-11-12 21:11
struct
poj3592Instantaneous Transference(tarjan+spfa)
强连通分量
缩点 用spfa算出最长路 注意算强连通时加过的值就不再加了 1 #include <cstdio> 2 #include <cstring>
·
2015-11-12 21:09
SPFA
poj2186Popular Cows(
强连通分量
)
id=2186 用tarjan算出
强连通分量
的个数 将其缩点 连成一棵树 则题目所求即变成求出度为0 的那个节点 在树中是唯一的 即树根 1 #include <iostream
·
2015-11-12 21:09
poj
poj1523SPF(Tarjan)
id=1523 参考着各种书籍 网上的讲解 及各种
tarjan算法
总算 把它捣鼓出来了 这题是求割点 及割点分割出来的块数 模板题 块数利用dfs可加出来 http://blog.csdn.net
·
2015-11-12 21:57
tar
ZOJ3784 String of Infinity(AC自动机&&
强连通分量
)
后来看了别人的代码,看到了
强连通分量
,我就恍然大悟了。其实只需要对剩下的未确定的状态,根据转移边建图,然后跑一次
强连通分量
。 这么做的
·
2015-11-12 19:45
String
POJ 3352 Road Construction (双连通缩点)
分析:用
tarjan算法
找桥,将所有不是桥的边的端点用并查集合并,这题以前写过,至于为什么可以用并查集来合并,可以参考以前那篇博客。 需要注意的是,数据中有重边,在判桥时要注意。
·
2015-11-12 19:32
struct
POJ 2186 Popular Cows (
强连通分量
)
分析:根据崇拜关系建立有向图,已知同属于一个
强连通分量
的牛互相崇拜,通过求强连通缩点后,若出度为0的点只有一个,那么这一群牛就被其他所有牛崇拜,否则不存在被其他所有牛崇拜的牛。
·
2015-11-12 19:31
poj
POJ 2553 The Bottom of a Graph (
强连通分量
)
分析:求的就是缩点后出度为0的
强连通分量
内的点。 这题以前写过,当时用邻接表来存储的。今天又试了下矩阵存储,速度慢了一半…… 用矩阵存储时,要用char或bool,否则会超内存。
·
2015-11-12 19:31
Graph
暑假集训每日一题 0725 (
强连通分量
)
Description N个学校之间有单向的网络,每个学校得到一套软件后,可以通过单向网络向周边的学校传输。 问题1:初始至少需要向多少个学校发放软件,使得网络内所有的学校最终都能得到软件。 问题2:至少需要添加几条传输线路(边),使任意向一个学校发放软件后,经过若干次传送,网络内所有的学校最终都能得到软件。 Input 输入有多组样例,大约1000组。 每组样例第一行包含两个整数N,M
·
2015-11-12 19:30
POJ 2553 The Bottom of a Graph (
强连通分量
+缩点)
思路:根据sink点的定义,我们很容易想到了
强连通分量
,但是思考如下情形:如果强连通分支A中有一点u,可以到到强连通分支B中的一点v,由强连通分支定义,v肯定无法到达u,那么A中所有的就不是sink点。
·
2015-11-12 17:17
Graph
Tarjan的学习笔记 求割边求割点
所以决心学习下
tarjan算法
。 割点和割边的概念不在赘述,tarjan能在线性时间复杂度内求出割边。 重要的概念:时间戟,就是一个全局变量clock记录访问结点的时间。
·
2015-11-12 17:32
学习笔记
图论——
强连通分量
解法:很明显和
强连通分量
有关,缩点后形成一张DAG图,所求既是出度为0的缩点对应的原始点。
·
2015-11-12 15:56
图论
poj 1236 Network of Schools
强联通分量模版题,
tarjan算法
: 1 #include<stdio.h> 2 #include<string.h> 3 #define MAXN 110 4
·
2015-11-12 15:10
NetWork
POJ 2186 Popular Cows --
强连通分量
题意:给定一个有向图,问有多少个点由任意顶点出发都能达到。 分析:首先,在一个有向无环图中,能被所有点达到点,出度一定是0。 先求出所有的强连通分支,然后把每个强连通分支收缩成一个点,重新建图,这样,这个有向图就变成了一个有向无环图。 在这个新的图中,只需知道出度为0的点有几个即可。 如果出度为0的点超过1个,则输出0;否则输出出度为0的点所代表的那个强连通分支的分量数即可。 用Ta
·
2015-11-12 14:40
poj
2014 Super Training #8 G Grouping --Tarjan求
强连通分量
分析:求出
强连通分量
后缩点,得到有向无环图,dfs该图求出各点深度(深度加权,权值为
强连通分量
大小),深度最大值即答案,
·
2015-11-12 14:32
super
UESTC 900 方老师炸弹 --Tarjan求割点及删点后连通分量数
Tarjan算法
。
·
2015-11-12 14:08
tar
UESTC 901 方老师抢银行 --Tarjan求
强连通分量
思路:如果出现了一个
强连通分量
,那么走到这个点时一定会在
强连通分量
里的点全部走一遍,这样才能更大。
·
2015-11-12 14:08
tar
UESTC 898 方老师和缘分 --二分图匹配+
强连通分量
这样求出所有的
强连通分量
,每个
强连通分量
中方老师和缘分的数目一定是相等的,所以每个方老师一定可以找到与他在同一个
强连通分量
里的缘分,因为
强连通分量
中每个点都是可达的,某个方老师找到了其
强连通分量
·
2015-11-12 14:06
二分图
强连通分量
(LRJ训练指南)
#include <iostream> #include <queue> #include <string> #include <cstdio> #include <cstring> #include <vector> #include <stack> #include <algorithm&g
·
2015-11-12 14:43
LR
hdu 4635 Strongly connected 强连通缩点
pid=4635 题意:给你一个n个点m条边的图,问在图不是强连通图的情况下,最多可以向图中添多少条边,若图为原来就是强连通图,输出-1即可; 思路:最后得到的图肯定分为两部分x和y,且两部分均为
强连通分量
·
2015-11-12 14:14
connect
zoj2588 Burning Bridges(无向图的桥)
tarjan算法
跑一遍,和无向图割点十分类似,这里要找low[v] > dfn[u]的边(u,v)便是割边,因为v是u的孩子,但是v无法访问到u的祖先,那么断开这条边原图必不连通,因此这是桥。
·
2015-11-12 13:00
bridge
[poj 3678]Katu Pazzle[2-SAT常用建图法]
因为最后要求对立点不在同一
强连通分量
是说同一强连通中的点必须同时选. 坑: 首先是算法记错了...inq是求SPFA用的...
·
2015-11-12 13:26
poj
HDU 3072 (
强连通分量
)
解题思路: 先用Tarjan把
强连通分量
缩点。 由于整个图肯定是连通的,所以枚举每一条边,记录到非0这个点所在连通分量的最小cost。 一共需要累加cnt-1个连通分量的cost。
·
2015-11-12 13:09
HDU
sicily 2377 Ants Colony 【LCA
Tarjan算法
】
传说中的最近公共祖先问题(LCA),用
Tarjan算法
可以过,但注意结果超int.
·
2015-11-12 13:04
ant
HDOJ 2767 Proving Equivalences(强连通算法入门)
基本上是模板题,首先对有向图进行缩点,即把所有
强连通分量
看成是一个点,Targan 算法 http://www.byvoid.com/blog/scc-tarjan/ 2.
·
2015-11-12 13:47
val
poj1144Network(无向图割点数)
题目分析:
tarjan算法
求割点。关于无向图割点,这里说的很清楚了。直接建图跑一遍
tarjan算法
即可。
·
2015-11-12 13:56
NetWork
poj 1236(
强连通分量
)
最少需要选择多少个点,使得从这些点出发能遍历完整个图; Q2、最少需要添加多少条有向边,使得整个图成为强连通图; 分析: 求出
强连通分量
后进行缩点
·
2015-11-12 11:30
poj
poj 2186(
强连通分量
)
方法:对有向图求
强连通分量
,然后找出所有独立的
强连通分量
(所谓独立,就是该连通分量里面的点到外面的点没有通路,当然,连通分量外的点是可以有路到
强连通分量
内的点的),如果独立的
强连通分量
的数目只有一个,
·
2015-11-12 11:30
poj
poj 1330 LCA问题 (LCA问题转化为RMQ ||
tarjan算法
)
LCA问题可以与RMQ问题互相转化,长郡中学 郭华阳的《RMQ&LCA问题》讲的很好。 这个博客也讲的很好:http://dongxicheng.org/structure/lca-rmq/ Run ID User Problem Result Memory Time Language Code Length Submit Time 10873609 xinghan0219
·
2015-11-12 11:01
tar
LCA问题的离线处理
Tarjan算法
模版
Tarjan算法
: http://blog.csdn.net/smallacmer/article/details/7432625 1 //这个
tarjan算法
使用了并查集+dfs的操作。
·
2015-11-12 11:01
tar
pku1904——二分图/增广链/
强连通分量
首先赞一下这道题,的确是个好题。 题目大意:一个国王有n个王子,同时有n个女孩。每个王子都有自己喜欢的若干个女孩,现给定一个合法的完备匹配(也就是一个王子娶其中一个自己喜欢女孩),求每个王子可以选择哪些女孩可以让剩下的每个王子依旧能够选择到自己喜欢的一个女孩。 题目有点绕。。但确实是这样的意思。。。。 解法: 首先我们看最直观的想法——也就是枚举+二分匹配判定。但是点数n高达2000,边数
·
2015-11-12 11:28
二分图
ZOJ 3232 It's not Floyd Algorithm --
强连通分量
+Floyd
题意:给你一个传递闭包的矩阵,mp[u][v] = 1表示u可以到达v,为0代表不可到达,问你至少需要多少条边组成的传递闭包符合这个矩阵给出的关系 分析:考虑一个
强连通分量
,如果这个分量有n个节点,那么至少只需要
·
2015-11-12 10:20
Algorithm
Tarjan应用:求割点/桥/缩点/
强连通分量
/双连通分量/LCA(最近公共祖先)【修改】
一、基本概念: 1.割点:若删掉某点后,原连通图分裂为多个子图,则称该点为割点。 2.割点集合:在一个无向连通图中,如果有一个顶点集合,删除这个顶点集合,以及这个集合中所有顶点相关联的边以后,原图变成多个连通块,就称这个点集为割点集合。 3.点连通度:最小割点集合中的顶点数。 4.割边(桥):删掉它之后,图必然会分裂为两个或两个以上的子图。 5.割边集合:如果有一个边集合,删除这个边集合
·
2015-11-12 10:09
tar
poj1523
分析:求割点除了
tarjan算法
,还有一种O(n^2)的算法,就是分别把每个点作为根,进行dfs,看根有几个子结点,如果大于一个则为割点否则不是割点。
·
2015-11-12 09:57
poj
tarjan
也就是说,
强连通分量
一定是有向图的某个深搜树子树。 既然
强连通分量
是深搜树的一棵子树,要找到一个分量,只要找到树根( 连接不同分量的桥的前端顶点) ,然后取出其所属分量的顶点即可。
·
2015-11-12 09:13
tar
POJ 2553 The Bottom of a Graph(Tarjan)
于是这个出度为 0 的
强连通分量
的所有点都是满足题意的点。
·
2015-11-12 08:40
Graph
bzoj1179
其实是最大团问题,但是直接dfs不保证不tle 题解再次来自lsj(懒得敲): 对于一个
强连通分量
, 一定是整个走或者不走, 所以tarjan缩点然后跑dijkstra或spfa spfa
·
2015-11-11 18:06
ZOJ
POJ 1236 Network of Schools[连通分量]
id=1236题目大意:给出N台电脑,电脑间单向连通传送文件问题1.网络中最少放几个文件保证所有电脑都能接受到文件问题2.最少向网络中加几条线保证任意放1个文件所有电脑都能接受到解题思路:1.求出
强连通分量
·
2015-11-11 17:42
NetWork
POj 2186 Popular Cows[连通分量]
id=2186解题思路:1>求出
强连通分量
,标记每头牛属于哪个分量内2>进行缩点,计算连通分量的个数x,给出的M组关系重新构图。
·
2015-11-11 17:40
poj
Codeforces Round #267 Div.2 D Fedor and Essay -- 强连通 DFS
解法:易知单词间有二元关系,我们将每个二元关系建有向边,然后得出一张图,图中可能有
强连通分量
(环等),所以找出所有的
强连通分量
缩点,那个点的minR,Len赋为
强连通分量
中最小的minR,Len,然后重新建
·
2015-11-11 16:34
codeforces
poj3177
需要对
tarjan算法
做一些变化。我们之前规定low[u]是其子孙通过一条返祖边直接到达的点,把这个改成是其子孙可以连续通过多条返祖边所能到达的点。
·
2015-11-11 15:45
poj
Tarjan算法
【转载】
Tarjan算法
在有向图G中,如果两个顶点间至少存在一条路径,称两个顶点强连通(strongly connected)。
·
2015-11-11 15:02
tar
HDU 1269 迷宫城堡(
Tarjan算法
)
Tarjan算法
模版求
强连通分量
。
·
2015-11-11 15:34
tar
HDU 4685 Prince and Princess(二分图+
强连通分量
)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4685 题意:给出n个王子和m个公主。每个王子有一些自己喜欢的公主可以匹配。设最大匹配为M。那么对于每个王子,可以选择哪些自己喜欢的公主使得选择之后最大匹配仍为M? 思路:(1)首先,想到的一个方法是先求一次最大匹配。然后枚举每个王子喜欢的公主作为该王子的匹配,判断能否为之前匹配该公
·
2015-11-11 14:52
HDU
有向图
强连通分量
部分转自 [有向图
强连通分量
] 有向图中,如果一个子图内任意两点都可达这这个子图为强连通子图 如图所示{1, 2,3,4},{5},{6} 为一个强连通子图 求连通分量 1.用Kosaraju
·
2015-11-11 14:00
图
有向图
强连通分量
[有向图
强连通分量
] 在有向图G中,如果两个顶点间至少存在一条路径,称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。
·
2015-11-11 12:05
图
Tarjan UVALive 6511 Term Project
题目传送门 1 /* 2 题意:第i个人选择第a[i]个人,问组成强联通分量(自己连自己也算)外还有多少零散的人 3 有向图强联通分量-
Tarjan算法
:在模板上加一个num
·
2015-11-11 12:27
project
HDOJ迷宫城堡(判断强连通
tarjan算法
)
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 5400 Accepted Submission(s): 2411 Problem Descriptio
·
2015-11-11 12:39
tar
LCA模板
LCA的
tarjan算法
void LCA(int u) { p[u]=u; visit[u]=true; for(int i=head[u]; i!
·
2015-11-11 12:46
模板
HDU3072
题意: 给出n个点(0 - n-1),m条边,code从0开始需要传播到1 - (n-1)的每个点,
强连通分量
之间的传播是没有花费的,求最小花费。
·
2015-11-11 11:09
HDU
上一页
21
22
23
24
25
26
27
28
下一页
按字母分类:
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
其他