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
POJ 1236 Network of Schools
先将图用
tarjan
缩点,形成无环图。然后求出其中入度为0和出度为0的点的个数ans1和ans2。 然后根据题意,入度为0的点需要添加一条边,所以第一问的结果就是ans1。这里的点都是图 的缩点。
·
2015-11-12 22:59
NetWork
POJ 2186 Popular Cows
原图是一个有向图,将其缩点后,每一个
强连通分量
是 一个点,找出出度为1的点的个数,如果大于1,那么无解。如果等于1,则输出这个强连通 分量中点的个数。
·
2015-11-12 22:59
poj
【
强连通分量
】vijos 1626 爱在心中
描述 “每个人都拥有一个梦,即使彼此不相同,能够与你分享,无论失败成功都会感动。爱因为在心中,平凡而不平庸,世界就像迷宫,却又让我们此刻相逢Our Home。” 在爱的国度里有N个人,在他们的心中都有着一个爱的名单,上面记载着他所爱的人(不会出现自爱的情况)。爱是具有传递性的,即如果A爱B,B爱C,则A也爱C。 如果有这样一部分人,他们彼此都相爱,则他们就超越了一切的限制,用集体的爱化身成
·
2015-11-12 22:44
OS
【模板】有向图强连同分量
求
强连通分量
要用到时间戳的概念 算了 直接给模板 ps:借鉴大白皮的写法 1 # include<cstdio> 2 # include<cstring>
·
2015-11-12 22:43
模板
poj 1986 Distance Queries(LCA离线
Tarjan
算法)
题目同poj2586相似,查询两点之间最短距离。#include #include #include #defineNN40002//numberofhouse #defineMM40002//numberofquery usingnamespacestd; typedefstructnode{ intv; intd; structnode*nxt; }NODE; NODE*Link1[NN]
u014552756
·
2015-11-12 22:00
POJ3207+
tarjan
+2-sat
1 /* 2 2-sat 3 题意:给定一个圆,圆上一些点。两点一线。现给出一些线,这些线可以在圆内连起来,也可以在圆外。 4 问有没有可能所有的线画完 且 不出现相交。 5 思路:把线画在圆内或圆外 看成一个组合。其它的则建边。 6 */ 7 #include<stdio.h> 8 #include<string.h>
·
2015-11-12 22:30
tar
Tarjan
+模板
1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 #include<math.h> 5 #include<algorithm> 6 #include<iostream> 7 #include<set> 8 #
·
2015-11-12 22:29
tar
HDU4612+
Tarjan
缩点+BFS求树的直径
tarjan
+缩点+树的直径题意:给出n个点和m条边的图,存在重边,问加一条边以后,剩下的桥的数量最少为多少。先
tarjan
缩点,再在这棵树上求直径。加的边即是连接这条直径的两端。
·
2015-11-12 22:23
tar
2-sat
求出
强连通分量
后进行缩点,新图是dag图,
·
2015-11-12 21:28
SA
(LCA离线
Tarjan
算法)
看了很多天的LCA,一直没弄明白,原因是没有注意邻接表建图……题意:给定一棵树,每条边都有一定的权值,q次询问,每次询问某两点间的距离。这样就可以用LCA来解,首先找到u,v两点的lca,然后计算一下距离值就可以了。这里的计算方法是,记下根结点到任意一点的距离dis[],这样ans=dis[u]+dis[v]-2*dis[lca(v,v)]参考博客:http://www.cnblogs.com/y
u014552756
·
2015-11-12 21:00
poj 1904 King's Quest
tarjan
求二分图的所有可选最大匹配边
所以可选边在一个
强连通分量
里。
·
2015-11-12 21:16
tar
1471. Tree(LCA)
1471 先学习了下
tarjan
算法的LCA 离线算法 它是先知道询问的结点对 在遍历的时候就已经算出来了 看篇图解 讲的很清楚 1 #include <iostream>
·
2015-11-12 21:39
tree
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
poj3694Network(
tarjan
+lca)
id=3694 用
tarjan
算出桥,用lca算出公共祖先 把路上的边更新掉 原来的桥变为不是桥 看一解题报告感觉有一部分是不用加的 不知道是不是数据水 没加交上也A了。。
·
2015-11-12 21:08
NetWork
poj1523SPF(
Tarjan
)
id=1523 参考着各种书籍 网上的讲解 及各种
tarjan
算法 总算 把它捣鼓出来了 这题是求割点 及割点分割出来的块数 模板题 块数利用dfs可加出来 http://blog.csdn.net
·
2015-11-12 21:57
tar
POJ 1236 Network of Schools(强连通
Tarjan
+缩点)
POJ 1236 Network of Schools(强连通
Tarjan
+缩点) ACM 题目地址:POJ 1236 题意: 给定一张有向图,问最少选择几个点能遍历全图,以及最少加入
·
2015-11-12 20:16
NetWork
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
HDU 1241 (DFS搜索+染色)
做法类似
Tarjan
。orz,我是不是刷错顺序了。 #include "cstdio" #include &quo
·
2015-11-12 17:50
HDU
POJ 1236 Network of Schools (强连通+缩点)
ft........这个题开始想错了,无限WA,后来看了DIS才知道,自己完全错了,这个题做的很郁闷........努力啊 不会
Tarjan
,丢人了,贴个连接,抓紧学习。
·
2015-11-12 17:19
NetWork
POJ 2553 The Bottom of a Graph (
强连通分量
+缩点)
思路:根据sink点的定义,我们很容易想到了
强连通分量
,但是思考如下情形:如果强连通分支A中有一点u,可以到到强连通分支B中的一点v,由强连通分支定义,v肯定无法到达u,那么A中所有的就不是sink点。
·
2015-11-12 17:17
Graph
HDU 4738 Caocao's Bridges taijan (求割边,神坑)
这题的坑点有1.判断连通,2.有重边,3.至少要有一个人背炸药 因为有重边,
tarjan
的时候不能用子结点和父节点来判断是不是树边的二次访问,所以我的采用用前向星存边编号的奇偶性关系,用^1来判断是不是树边
·
2015-11-12 17:33
bridge
Tarjan
的学习笔记 求割边求割点
所以决心学习下
tarjan
算法。 割点和割边的概念不在赘述,
tarjan
能在线性时间复杂度内求出割边。 重要的概念:时间戟,就是一个全局变量clock记录访问结点的时间。
·
2015-11-12 17:32
学习笔记
HDOJ 2242 考研路茫茫——空调教室
N<=10^4 分析:dfs时用
tarjan
判断边是否为割边,若是就更新答案。需注意的是有重边。
·
2015-11-12 15:09
考研
图论——
强连通分量
解法:很明显和
强连通分量
有关,缩点后形成一张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
二分图
tarjan
求强联通分量 模板
1 void
tarjan
(int u) 2 { 3 dfn[u]=low[u]=++dfs_clock; 4 stack_push(u); 5 6
·
2015-11-12 14:38
tar
强连通分量
(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
XCOJ 1103 (LCA+树链最大子段和)
Tarjan
离线处理中,记录每个结点的前驱,p[v]=u。 若更新,从u点回溯到LCA,从v点回溯到LCA,逐个修改。 若查询,将u点回溯到
·
2015-11-12 13:12
ca
HDU 3078 (LCA+树链第K大)
解题思路: 先用离线
Tarjan
把每个Query树链的LCA求出来。 LCA中对连接树Dfs的时候,令p[v]=u,记录v的前驱。
·
2015-11-12 13:11
HDU
HDU 3072 (
强连通分量
)
解题思路: 先用
Tarjan
把
强连通分量
缩点。 由于整个图肯定是连通的,所以枚举每一条边,记录到非0这个点所在连通分量的最小cost。 一共需要累加cnt-1个连通分量的cost。
·
2015-11-12 13:09
HDU
POJ 1523 (割点+连通分量)
Tarjan
法求割点。 pre数组,记录这个点的dfs时间位置。 割点的条件是lowv>=pre[u], 即子点比父点先dfs,这时候父点就没有意义了,切掉父点连通分量数肯定会增加。
·
2015-11-12 13:45
poj
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
上一页
39
40
41
42
43
44
45
46
下一页
按字母分类:
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
其他