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
HDU 1827Summer Holiday(缩点+
tarjan
算法)
首先
强连通分量
内部的点都可以互通。那么就求出有几个
强连通分量
,把每个
强连通分量
看成一个点,考虑每个连通分量缩点的入度,入度为零则表示没有其它点能传给它,所以必须要花费钱给他传递。
ナナ色のブランク
·
2020-08-15 22:12
图论
luogu1073最优贸易 做题笔记
题面传送门一眼看过去能往回走,各种图论算法肯定是不能直接用的,但是既然能回到自己,那就是说连通块里的每个点先后顺序随便,所以
tarjan
缩点搞一搞+DAG图dp然后中间脑抽,啊,DAG图不就是一棵树吗,
Magnetic_Momain
·
2020-08-15 17:02
#牛客网 通知小弟 (
tarjan
+ 思维)
在战争时期,A国派出了许多间谍到其他国家去收集情报。因为间谍需要隐秘自己的身份,所以他们之间只是单向联系。所以,某个间谍只能单向联系到一部分的间谍。同时,间谍也不知道跟他联系的是谁。HA是间谍们的老大,但他也只能联系到部分的间谍。HA现在有一项命令有告诉所有的间谍。HA想要知道他至少要告诉多少个他能联系上的间谍才能通知到所有的间谍。输入描述:有多个测试数据。对于每个测试数据:第一行为一个整数n,m
东野圭吾#
·
2020-08-15 17:51
Tarjan
HDU 4738-Caocao's Bridges-无向图找桥 DAG
Tarjan
Caocao’sBridgesProblemDescriptionCaocaowasdefeatedbyZhugeLiangandZhouYuinthebattleofChibi.Buthewouldn’tgiveup.Caocao’sarmystillwasnotgoodatwaterbattles,sohecameupwithanotheridea.Hebuiltmanyislandsinth
luonango
·
2020-08-15 16:26
ACM
CH#17C 舞动的夜晚(最大流+
强连通分量
)
舞动的夜晚CHRound#17描述L公司和H公司举办了一次联谊晚会。晚会上,L公司的N位员工和H公司的M位员工打算进行一场交际舞。在这些领导中,一些L公司的员工和H公司的员工之间是互相认识的,这样的认识关系一共有T对。舞会上,每位员工会尝试选择一名Ta认识的对方公司的员工作为舞伴,并且每位员工至多跳一支舞。完成的交际舞的数量越多,晚会的气氛就越热烈。顾及到晚会的气氛,员工们希望知道,哪些员工之间如
RioTian
·
2020-08-15 15:00
HDU-4738 Caocao's Bridges(边
强连通分量
)
题目链接CaocaowasdefeatedbyZhugeLiangandZhouYuinthebattleofChibi.Buthewouldn’tgiveup.Caocao’sarmystillwasnotgoodatwaterbattles,sohecameupwithanotheridea.HebuiltmanyislandsintheChangjiangriver,andbasedonth
LSC__lsc
·
2020-08-15 13:30
连通图
Caocao's Bridges HDU -
tarjan
割边模板
I-Caocao'sBridgesHDU-4738如果在这时我的结点u有一条到v的边而且low[v]dfn[u]那么这条边即为桥,对于割点有一个等号的问题,在判断桥中如果low[v]==dfn[u]那么这意味着始末都是这个u结点的一个环而已(包括自环)没什么影响只要是环那么必然不是桥,而对于割点如果low[v]==dfn[u]那么v及其所有子结点都必须通过u结点来访问u的祖先所以u仍然是割点题意:
ID_BePosit
·
2020-08-15 13:45
图论
codeforces 51F Caterpillar
tarjan
缩点+dfs
并且其拥有一条主链使得不在链上的点到链上最近的点的距离小于2.解析:首先因为毛毛虫图没有环,所以我们可以用
tarjan
缩一下点,并计算代价。缩完点后剩下一片森林。首先考虑对一棵树如何操作。
wzq_QwQ
·
2020-08-15 12:10
Depth
First
Search
Double
Connected
Component
Simple Cycles Edges(点双连通分量||
tarjan
缩点)
http://codeforces.com/contest/962/problem/F题意:给出一个无向图,问有哪些边只属于一个简单环。思路:找到每个点双连通分量,如果一个x个点的点双连通分量正好由x条边构成,那么这些边就都只属于一个简单环#include#include#include#include#include#defineN100005#defineM200005usingnamespa
- Passerby ゛
·
2020-08-15 12:53
强连通
Codeforces 1027D(
Tarjan
缩点+贪心)
传送门题面:D.MouseHunttimelimitpertest2secondsmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputMedicinefacultyofBerlandStateUniversityhasjustfinishedtheiradmissioncampaign.Asusual,about8
Chen_Jr_
·
2020-08-15 11:35
CodeForces
贪心
图论
Codeforces 1137C Museums Tour (
强连通分量
, DP)
题意和思路看这篇博客就行了:https://www.cnblogs.com/cjyyb/p/10507937.html有个问题需要注意:对于每个scc,只需要考虑进入这个scc的时间即可,其实和从哪个点进没有关系,因为scc内每个点都可以互相到达,所以只需记录时间就囊括了所有的情况,比如时间3从1号点进和时间4从2号点进是等价的,这也是为什么可以随便选择一颗生成树的原因。对于scc的出边,边的长度
weixin_30483013
·
2020-08-15 11:56
Kitayuta's Technology (
强连通分量
)
题目地址:http://codeforces.com/contest/506/problem/B先用强连通判环,然后转化成无向图,找无向图连通块,若一个有n个点的块内有强连通环,那么需要n条边,即正好首尾相连形成一条环,那么有了这个环之后,在这个块内的所有要求都能实现。如果没有强连通环,那么就是一棵树,那么只需要n-1条边即可。代码如下:#include#include#include#inclu
Aerolite坠落
·
2020-08-15 11:48
强连通分量
Kitayuta's Technology
强连通分量
有向图求环
D.Mr.Kitayuta'sTechnologytimelimitpertest1secondmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputShusekiKingdomistheworld'sleadingnationforinnovationandtechnology.Therearencitiesint
相知无悔
·
2020-08-15 11:51
强连通分量&&拓扑排序
图论
模板
cf
Codeforces 1239 D Catowice City ——
tarjan
现在需要选出总共n个人+猫,而且至少有一个人,一只猫,问你选的人是哪些,猫是哪些题解:第一次接触
tarjan
,就是求强联通分量的一种方法。scc相同即在同一个强联通分量里。
天翼之城*
·
2020-08-15 11:13
tarjan
想法
Connected Components? CodeForces - 920E
http://codeforces.com/problemset/problem/920/E求补图的各个连通块大小智商不够直接线段树优化建图然后
tarjan
缩点幸好内存不紧。。
sunyutian1998
·
2020-08-15 11:02
线段树/树状数组/RMQ
强连通分量
Codeforces Gym 101630C Connections
强连通分量
Tarjan
ProblemC.ConnectionsInputfile:standardinputOutputfile:standardoutputTimelimit:3secondsMemorylimit:512mebibytesHardtimesarecomingtoByteland.QuantumcomputingisbecomingmainstreamandQubitlandisgoingtooccu
VampireWeekend
·
2020-08-15 11:51
tarjan/2-SAT
CodeForces - 427C Checkposts (
强连通分量
)
http://codeforces.com/problemset/problem/427/C题意:一共给你NN个点,MM条有向边。其中每个点都有其自己对应的权值,作为城市的市长,你希望设定警察局来保护所有的城市。如果我们在点ii处设立了一个警察局,那么其点ii是被保护的,而且如果一个点jj,能够保证有路径从ii到jj,并且能够保证有路径从jj回到ii,那么点j也是被保护的。问将所有城市都保护起来的
sdxtcqs
·
2020-08-15 11:41
图论
Codeforces Problem 711D Directed Roads(
Tarjan
判环)
此文章可以使用目录功能哟↑(点击上方[+])比赛链接→CodeforcesRound#369(Div.2)CodeforcesProblem711DDirectedRoadsAccept:0Submit:0TimeLimit:2secondsMemoryLimit:256megabytesProblemDescriptionZStheCoderandChristheBaboonhasexplore
queuelovestack
·
2020-08-15 11:33
CodeForces
最短路+
tarjan
codeforces567E President and Roads
这题出的非常有意义。题意:告诉点一个有向图,和起点s终点t。保证s能到达t。然后询问所有的边如果这条边是s到t的最短路中不能缺少的,就输出YES否则,可以将这条边的长度减小,但是最多中i能减小到1。此时最短路如果必经这条边就输出CAN减少的长度否则,就输出NO思路:先从s出发做一次最短路,保存在d1数组中。然后把边全部反转,从t出发做一次最短路,保存在d2数组中如果d1[u]+w==d1[v]且d
逍遥丶綦
·
2020-08-15 11:02
ACM_图论
Codeforces 1133F2 Spanning Tree with One Fixed Degree【BFS+
强连通分量
】
我们要判断不是通过1结点来连接的点集有多少个,其实就是先把1连接的边去掉,判断剩下的
强连通分量
的个数(
什么都不会的菜鸡
·
2020-08-15 11:10
图论
Hdu 5454,Minimum Cut,最近公共祖先+dfs遍历
这道题补充了自己最近公共祖先的知识点:LCA(LowestCommonAncestors)两种求法:①离线:
tarjan
+dfs;②在线算法,还没看题意:先给定一棵n个节点的树,然后给定一个m条边的图,
lishuandao
·
2020-08-15 11:03
ACM
codeforces 505 D Mr. Kitayuta's Technology
做法:首先做出
强连通分量
,很显然对于有向图而言,若分图的点不唯一必定成环,当然啦,还需要做的是把这些分图再连起来变成弱连通分量,若某个弱连通分量的点数为v,若有环则贡献v条边,否则贡献v-1条边。
Last0rder
·
2020-08-15 10:53
强连通分量
Codeforces 962F:
Tarjan
点双连通分量
前置技能:
Tarjan
三算法:
强连通分量
、点双连通分量、边双连通分量。资料:
Tarjan
三大算法之双连通分量(双连通分量)题意:给出一个无向图,求出所有只在一个简单环上出现过的边。
calabash_boy
·
2020-08-15 10:45
Codeforces
Codeforces 427C Checkposts (
强连通分量
tarjan
模板)
Checkpoststimelimitpertest:2secondsmemorylimitpertest:256megabytesYourcityhasnjunctions.Therearemone-wayroadsbetweenthejunctions.Asamayorofthecity,youhavetoensurethesecurityofallthejunctions.Toensuret
_TCgogogo_
·
2020-08-15 10:31
ACM
图论
Codeforces700C Break Up(搜索+
tarjan
)
http://codeforces.com/problemset/problem/700/C题意:n个点m条边,从s到t,让你删掉最多两条边,让s和t不通,让花费最小。题解:首先要说一下,我真是太菜了,看见这题又是一脸蒙逼啊,其实这题点1000,边30000,nm的复杂度完全能过,如果我发现了这个,可能会有思路呢,知道了这个的话,就可以先找一条路出来,因为有路,所以为了不通,肯定要删除上面一条边,
Miracle_ma
·
2020-08-15 10:16
CodeForces770C【
强连通分量
+DFS序】
然后我就很爆炸,窝很蠢地想到了
Tarjan
,然后就处理了一下那些
强连通分量
,然后就是用来判断是不是在环里,不满足。
keyboarder_zsq
·
2020-08-15 10:37
codeforces
DFS
codeforces
dfs
CodeForces 160D Edges in MST (
tarjan
)
题目链接:http://codeforces.com/problemset/problem/160/D题意:给出一个n个点m条边(无自环无重边)的无向图,求问它的所有最小生成树中:哪些边在所有最小生成树中都出现、那些可能出现、那些都不出现。思路:首先有一个结论:把一个连通无向图的生成树的边按权值递增排序,称排好序的边权列表为有序边权列表,则任意两棵最小生成树的有序边权列表是相同的。因此,借助Kru
Interstellar_
·
2020-08-15 10:05
图论
Codeforces
poj3694 Network
Tarjan
+树链剖分
嗯就如上一篇所说,我们缩完点之后,就成为了一棵树,然后每个点权对应它到他的父节点的边是否狗带,然后每次LCA在链上乱跳的时候维护下清空标记就行了,qlog^2n的果然跑得快,172ms。。。。。。Problem:3694User:BPM136Memory:19208KTime:172MSLanguage:G++Result:AcceptedSourceCode/******************
BPM136
·
2020-08-15 10:46
树链剖分
图论
线段树
poj3694 Network
Tarjan
(树链剖分)
显然我们
Tarjan
桥边然后爆搞LCA。。。等等!这不是O(nq)的吗?嗯。。。。。799ms==每次缩点复杂度。。。
BPM136
·
2020-08-15 10:45
树
LCA
图论
Kitayuta's Technology【
强连通分量
,弱联通分量】
题目链接:http://codeforces.com/contest/505/problem/D题目大意:在一个图中,有n个顶点,给出m对数字(u,v)表示顶点u和顶点v必须直接或者间接相连,让你构造一个这样的图,输出最少需要多少条边。分析:毫无疑问,n个顶点的话,我们最多可以用n条边,使得n个顶点构成一个环,满足所有的情况(任意两点都是联通的),但是这并不一定是最少的边。于是我们还需要找一个方法
朽弈
·
2020-08-15 10:21
ACM之路
codeforces
图论
dfs
Kitayuta's Technology(
tarjan
+并查集)
题目链接:http://codeforces.com/contest/505/problem/D题解:先用
tarjan
缩点然后再用并查集注意下面这种情况‘这种情况只需要构成一个大环就行了,也就是说不需要
awow80285
·
2020-08-15 10:44
在流程图中求支配点的一种快速算法
0.说明本文译自
Tarjan
的论文:https://www.cs.princeton.edu/courses/archive/fall03/cs528/handouts/a%20fast%20algorithm
wmdcstdio
·
2020-08-15 09:02
(国庆训练) NEERC2017 C. Connections
题目链接:C.Connections题意:给定一个强联通分量,m条边,n个点,需要删去m-2*n个边,使得图仍为
强连通分量
题解:因
强连通分量
两点间任意可达,所以处理出,从1结点到各个节点所需要的边和从其他结点到达
weixin_30876945
·
2020-08-15 08:54
Tarjan
求
强连通分量
非强连通有向图的极大强连通子图,称为
强连通分量
(stronglyconnectedcomponents)。在上图中,{1,2,3,4},{5},{6}三个区域可以相互连通,称为这个图的
强连通分量
。
休伯利安矿工
·
2020-08-14 21:19
Tarjan
Gym - 100712H Bridges (无向图 缩点,
Tarjan
+ 找树的直径)
题目链接题意:给你一张图,问你加了一条边之后,最少有多少桥。如果那些形成一个环的点,点之间的边都不是桥,所以要考虑把这些点缩成一个点。缩点完成后,就会形成一棵树。找到连接起来最长的边(树的直径),在用一条边把他们从头到尾连起来,那样就去掉了最多的边,剩下的就是我们要求的桥;总的来说就是,无向图缩点,然后形成树,找树的直径,再拿边的个数减去树的直径就是答案。找树的直径,一定要走两次dfs找到底层的点
Top_xiao
·
2020-08-14 17:19
图论
Equivalent Sets(HDU 3836)---加边成
强连通分量
题目链接题目描述ToprovetwosetsAandBareequivalent,wecanfirstproveAisasubsetofB,andthenproveBisasubsetofA,sofinallywegotthatthesetwosetsareequivalent.YouaretoproveNsetsareequivalent,usingthemethodabove:ineachst
diamonds_moster
·
2020-08-14 12:06
图论中最小生成树构造算法之Prim算法和Kruskal算法
对于无向图:若任意两点之间有路径,则该图连通图;非连通图极大连通子图为连通分量;对于有向图:任意两点之间,有方向路径,则该图的强连通图;非强连通图的极大连通子图为
强连通分量
。
yanerhao
·
2020-08-14 08:24
数据结构区
C++无向图连通性问题[
Tarjan
求割边]—————Bridges
题目描述:在赤壁之战中,曹操被诸葛亮和周瑜击败。但他不会放弃。曹操的军队仍然不善于水战,所以他提出了另一个想法。他在长江建造了许多岛屿,在这些岛屿的基础上,曹操的军队很容易攻击周瑜的部队。曹操还建造了连接岛屿的桥梁。如果所有岛屿都通过桥梁相连,那么曹操的军队可以在这些岛屿中非常方便地部署。周瑜无法忍受,所以他想要摧毁一些曹操的桥梁,这样一个或多个岛屿就会与其他岛屿分开。但周瑜只有一枚由诸葛亮留下的
C2020lax
·
2020-08-14 08:12
强连通分量
由LCA引发的问题--RMQ,
Tarjan
,并查集等
引入LCA问题及其在线和离线算法两个月前有一次一个电话面试问到了一个问题:“怎样求二叉树中距离两个叶子节点最近的祖先节点。”当时不会,后来在网上查了查发现是一个比较经典的题目,也有几种算法可以解决这个问题,我学习了一下,在这儿记下来。这个问题更宽泛的定义是:如何求树(不限于二叉树)中两个节点(不限于叶子节点)的最近公共祖先节点。这个问题被称为LCA(LowestCommonAncestor)问题。
qiuyang0607
·
2020-08-14 07:11
基础知识
[POJ 3694]Network(
Tarjan
+并查集+LCA 动态加边求图中桥的个数)
1≤|V|≤100000,1≤|E|≤200000,1≤q≤1000思路对于初始的图,用
tarjan
算法生成一棵DFS树以及其DFS序,并同时求出最开始时整张图中的桥的个数,将除了
我是傻叉
·
2020-08-14 07:11
ACM-ICPC
图论
传统题
动态图问题(Link-Cut
Tree等)
POJ
牛客练习赛32 D
Tarjan
无向图求桥+并查集维护
题目描述:小p和他的朋友约定好去游乐场游玩,但是他们到了游乐场后却互相找不到对方了。游乐场可以看做是一张n个点,m条道路的图,每条道路有边权wi,表示第一次经过该道路时的花费(第二次及以后经过时花费为0)。现在,小p要去找他的朋友,但他的朋友行踪很诡异,小p总是要遍历完这n个点才能找到他,同时小p希望总花费最小。找到朋友的方案可能不唯一(具体看样例解释),小p想知道在这所有的方案中,有多少条边在每
阿_波_
·
2020-08-14 07:28
Tarjan
bzoj 2140: 稳定婚姻
查询二分图每一条边是否一定在二分图最大匹配上:首先任意一个最大匹配,然后把两个匹配点缩成一个点,然后用这个图跑
强连通分量
,如果一个点所在的
强连通分量
大小大于1,那么说明原图存在一条匹配边-非匹配边-匹配边
heheda_is_an_OIer
·
2020-08-14 06:45
强连通分量
(超详细!!!)
有向非强连通图的极大强连通子图,称为
强连通分量
。图中,子图{1,2,3,4}为一个
强连通分量
,因为顶点1,2,3,4两两可达。{5},{6}也分别是两个
强连通分量
。
anglanjing7414
·
2020-08-14 06:16
数据结构与算法
7_6_B题 Network题解[POJ3694] (LCA + 求桥 + 并查集)
思路先用
Tarjan
算法求桥,同时用并查集缩点,把所有非桥的边缩起来,这样剩下的就是一个只包含桥的树,在每次加边的时候通过并查集,判断两点是否在缩起来的点中,如果是则加入该边对桥的数量没有任何影响直接返回
Shufu_C
·
2020-08-14 06:04
题解
LLVM-Analysis-LoopInfo
他是一种类似于
Tarjan
的可规约流图识别(《Testingflowgraphreducibility》),不同的是LLVM是基于dom-tree的遍历,这有点像区域分析。
yeshahayes
·
2020-08-14 05:21
编译与反编译
POJ1986 Distance Queries【最近公共祖先】【
Tarjan
-LCA算法】
DistanceQueriesTimeLimit:2000MSMemoryLimit:30000KTotalSubmissions:9777Accepted:3425CaseTimeLimit:1000MSDescriptionFarmerJohn'scowsrefusedtoruninhismarathonsincehechoseapathmuchtoolongfortheirleisurely
行走少年郎
·
2020-08-14 05:43
-----
图
论
-----
最近公共祖先
并查集
ACM题解——梦想之路
倍增法在线求LCA(详解)
先贴上学习的文章:洛谷P3379题解1倍增讲解在用
Tarjan
算法求LCA时会出现超时的现象,因为是一层一层的往上跳,于是就有了用倍增法求LCA,是层地往上跳。
努力写题的tyf
·
2020-08-14 05:01
LCA
洛谷P2341 受欢迎的牛——
Tarjan
+缩点模板
又是一道
Tarjan
水题,这次经过仔细的思考,没有打错邻接表(图论已入门qwq)。还是先来说说思路吧,由题意知,就是给一张n个点,m条边的有向图,让你求出有多少个点可以由所有的点达到。
bairui0504
·
2020-08-14 04:18
Uva 11324 The Largest Clique
分析:在最优的方案中,每一个
强连通分量
中的点要么都选,要么都不选,那么我们就可以先把所有的
强连通分量
计算出来,然后再将不同的
强连通分量
建一个新图,则最优解就是一个Dag上的DP了代码如下:#include
Wearry
·
2020-08-14 04:29
Graph
tarjan
判环(51Nod - 1076)
tarjan
判环(51Nod-1076)51Nod-1076vj链接模板intDFN[maxn],low[maxn],cnt=0;boolvis[maxn],inStack[maxn];///每次使用要清空
xuziling_
·
2020-08-13 23:15
ACM
上一页
10
11
12
13
14
15
16
17
下一页
按字母分类:
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
其他