tarjan
Wuliwuliii
谁无暴风劲雨时,守得云开见日明!
展开
-
[AHOI2009]最小割【最小割+Tarjan】
题目链接 P4126 [AHOI2009]最小割 将题目拆解成两个问题,我们分别进行求解。 可以作为最小割的边 如果它可以是最小割中的边的话,首先它需要满足的是流过它的流是满流的,这是因为如果它被割去了,那么一定是满流的,否则一定不会是最小割中的一条边。 再者,虽然它是满流的,但是它可以被替换掉,怎么理解?就是它现在表面上是别割去了,但是实际上图中还有残余网络,可以代替这条被割去的边。给组合适的样例:6 6 1 61 2 12 3 22 4 23 5 14 5 ...原创 2020-05-26 15:52:16 · 473 阅读 · 0 评论 -
调查任务【51nod 1815】【Tarjan+拓扑DP】
题目链接这道题细节上的处理是真的比较容易的忽略了。就譬如说,题目中说到的,从S到点x的一条路径上的两个点,这句话很关键。我们都很容易的想到应该取次大值,但是次大值首先是根据最大值决定的,那么也就代表了最大值必须也是这条路径上的,次大值也是这条路径上的,不能取一条边的最大值,再取另一条其他边的最大值,组成最大值和次大值这样的组合是不行的。那么,你继承最大值的时候,我们有时候会忽略一些...原创 2020-04-02 15:33:55 · 228 阅读 · 0 评论 -
Caocao's Bridges 【HDU - 4738】【Tarjan求桥(割边)】
题目链接 在赤壁之战中,曹操被诸葛亮和周瑜击败。但他不会放弃。曹操的军队仍然不善于水战,所以他提出了另一个想法。他在长江建造了许多岛屿,在这些岛屿的基础上,曹操的军队很容易攻击周瑜的部队。曹操还建造了连接岛屿的桥梁。如果所有岛屿都通过桥梁相连,那么曹操的军队可以在这些岛屿中非常方便地部署。周瑜无法忍受,所以他想要摧毁一些曹操的桥梁,这样一个或多个岛屿就会与其他岛屿分开。但周瑜只有一枚由诸葛...原创 2020-04-01 19:36:02 · 288 阅读 · 0 评论 -
[APIO2018] 铁人两项【圆方树+树形DP】
题目链接 BZOJ 5463 首先,这道题的关键就是在于走环与直接走之间的差别。 很容易发现的是,我们可以通过枚举中间点来进行考虑,如果把这道题放到树上去,也就是原图是一棵树的话,那么很容易就能列写出对应的树形DP,通过维护子结点的size,我们构造起点和终点的可能性。如此,能解决所有的圆点上的问题。 现在的问题,就在于原图中存在环的情况,有环可怎么办呢?譬如说,我们现在取到的中...原创 2020-03-22 14:06:27 · 280 阅读 · 0 评论 -
战略游戏【HYSBZ - 5329】【广义圆方树+虚树】
题目链接 只要在摧毁这个城市之后能够找到某两个小C占领的城市u和v,使得从u出发沿着道路无论如何都不能走到v,那么小Q就能赢下这一局游戏。 所以,我们只需要知道有多少个点是可以作为割点的,那么求割点,并且总的点集还很少,所以就用广义圆方树加上虚树来完成了。 广义圆方树主要就是求点双连通分量,其中,所有的圆点就是可以作为割点的,所以,统计生成虚树上有多少个可以作为割点的点,然后...原创 2020-03-21 20:36:40 · 211 阅读 · 0 评论 -
Knights of the Round Table【点双连通分量与二分图】
题目链接 POJ - 2942 题意:亚瑟王要给骑士们开会啦,有N个骑士,其中有M对骑士相互之间会吵架,亚瑟王不允许相互吵架的骑士坐在一起,但是他们可以一同坐在餐桌上,只要隔开就可以了。还有就是,出席会议的骑士数必须是奇数,这是为了让投票表决议题时都能有结果。如果出现有某些骑士无法出席所有会议(例如这个骑士憎恨所有的其他骑士),则亚瑟王为了世界和平会强制把他剔除出骑士团。问亚瑟王至少要剔除...原创 2020-03-20 22:12:29 · 296 阅读 · 0 评论 -
Financial Crisis【点双连通分量】
题目链接 HDU - 3749 你以为学了Tarjan会写几个边双就真的理解什么是双连通分量了吗?——我原来真的不懂什么叫做点双BCC。 不过这都没有关系,解决了这个问题之后,我终于知道了什么叫做点双连通分量了。 这是一个绝对绝对经典的问题,首先讲一下题意: 给你一幅N个点,M条边的图(不一定连通),再给出Q个询问,每次的询问是u、v两点,从u到v是否有两条及以上“无重叠路...原创 2020-03-20 09:56:32 · 200 阅读 · 0 评论 -
Fantasia 【HDU - 5739】【广义圆方树】
题目链接 这道题的题意在这里就不展开了,因为这次的英文比较的好读,也没有生词,好懂一些些hh。 然后,这道题的关键点,肯定就是来看这个点是不是一个割点,也就是割去这个点之后就将原来的联通块展开成两个以上联通块,把原来的联通性给断开了,于是,基于这个,我想到的解法就是广义圆方树了。 很明显的,广义圆方树会形成新的方点,我们给新的方点赋值为1,肯定就不会影响到答案了,于是真正影响答案...原创 2020-03-13 22:00:25 · 220 阅读 · 0 评论 -
Roads and Planes【Tarjan+拓扑+Dijkstra】
题目链接 有N个点,R条无向边,P条有向边,再给出起点S,问从起点S到达1~N各点的最短距离,如果无法到达,按题目输出。 很明显的,这就是不能直接用任意一个最短路的算法来解决该问题,容错的SPFA可以卡(玄学)。 这里用一个比较稳的做法,复杂度就是。 首先,我们构造一个DAG图,然后利用拓扑的思路解决这个问题,拓扑的复杂度是O(N)的,怎样构成DAG呢?基础的Tarjan缩...原创 2020-03-08 20:46:01 · 163 阅读 · 0 评论 -
最小点权基
点基:在有向图G=(G,V)中,B是V的子集。如果对于任意的y属于V,不属于B,都存在一个x属于B,使得x是y的前代(有一条边从x到y),则称B是一个点基。PS:做题的时候间接相连也算。也就是有一条路径从x到y。最小点基:顶点最少的点基。最小权点基:顶点对应的权值之和最小的点基。(顶点权值非负)最高强连通分量:顶点数目不能增加的强连通分量。(自己理解的)求最小权点基的步骤:...原创 2020-02-20 10:04:29 · 215 阅读 · 0 评论 -
One-Way Conveyors 【Tarjan缩点+树链剖分】
One-Way ConveyorsAizu - 1408 这道题上面推荐大家把maxN开的大一点,不然会RE,我倒是被这个坑了一下,还有一些细节,我将在后面徐徐道来。(目前最快还是比较的开心) 先讲一下题意:有N个点,M条无向边,然后输入这M条无向边,再是一个K,表示我们有K个要求,每个u到v,我们现在要把原来的无向图变成有向图,也就是给每条边定向,还要满足所有K个u到v都要...原创 2020-02-18 21:25:12 · 646 阅读 · 0 评论 -
King's Quest 【POJ - 1904】【完美匹配的替代方案(Tarjan强联通)】
题目链接题记 —— 完美匹配:二分图的左右两边的所有结点都能得到对面的结点的匹配,并且每个点仅可使用一次。 题意:有N个王子,N个公主,每个王子都有Ki个自己喜欢的公主,现在国师给他们配对,让每个王子娶到自己的某个心仪的姑娘。但是,王子们的父亲,也就是国王,并不满足于此,他想知道,每个王子最多可以选择哪几个公主中的一个来成亲,使得其他的王子还能娶到自己心仪的姑娘中的一个。简而言之,某个王...原创 2020-01-25 23:44:32 · 392 阅读 · 0 评论 -
集训队的依赖关系【西南民族大学第十一届K题】【Tarjan + 依赖背包(树形DP)】
题目链接 这题一开始的时候想到了方向,但是实在不会依赖背包,于是就没有写出来。 依赖背包是什么呢?过了这道题之后我的理解就是,我们的下一个状态的存在性,首先是依赖于前一个状态的存在,也就是说,如果前一个状态不存在的话,我们是达到不了下一个状态的,于是,这就方便我们解决这个问题了。 我们定义无法存在的状态是“-INF”,然后呢,怎样确定它是没法存在的呢,我们如果3依赖与2,2依赖与...原创 2019-12-29 14:21:13 · 141 阅读 · 0 评论 -
小雀和他的王国【牛客练习赛56 E】【Tarjan缩点+树的直径】
题目链接 首先,如果它本身就是在环内了,那么,任意的破坏环上的任意条边,都是不会影响答案的,所以,我们可以知道,会映像答案的边只有那些桥。 于是,做法就变成了Tarjan缩点,然后就变成了一棵树了,我们现在想要构成最大的环,于是任务就变成了找最大的边构成一个环,那么问题再化简,就变成了求树的直径的问题了,于是我们直接推一下深度和高度,就可以来求树的直径了。#include <...原创 2019-12-27 22:09:12 · 148 阅读 · 0 评论 -
Delivery Route【2019 银川】【Tarjan强连通分量+拓扑排序+Dijkstra找分量内最小值】
题目链接 首先,有的人是用SPFA卡过去的,当然是卡过去的,正确的SPFA复杂度计算是,那么都是级别的了。肯定不是出题人希望的正解了。 那么,有two_M个双向边、one_M个单向边(我就用one、two来分别定义单双向了)。我就在想了,如果是一副DAG图,岂不是很快的就能确定答案了(简直就是的时间复杂度啊),那样子,我们先把所有的边都输进来,然后呢,我们缩点来看看,一下子,就能发...原创 2019-12-06 20:45:05 · 261 阅读 · 0 评论 -
Catowice City【Codeforces 1248 F】【Tarjan】
Codeforces Round #594 (Div. 2) F 这道题的解法还真是不少,写了个枚举也可以做这道题,当然Tarjan自然也是可以的。 我一开始没捋清楚思路,再想想,发现,我们看到审判者,他们都会指向一些参赛选手,那么我们是不是可以尽力去找那些没有指向的人,也就是出度为0的点,那么他们岂不是就没有指向了。然后我们可以把有关系的缩点,然后再DAG上找到一个审判就可以了,剩下...原创 2019-11-09 00:26:03 · 389 阅读 · 0 评论 -
Proving Equivalences【HDU-2767】【Tarjan缩点+度的思维】
题目链接 题目问的是给你N个点,M条边,要求构成一个强连通图,最少还需要加几条边。 那么就是把已经成强连通分量的缩成一个点,把没有形成强连通分量的加边去形成强连通分量,那么对于强连通图上的每个点都能知道入度和出度都是">0"的,那么,对于一个点,假如入度==0或者出度==0,就是说明它一定存在着问题,所以,要构成强连通图,就是要找到最大的入度/出度为0的点的数量。 对了,已...原创 2019-02-06 10:12:31 · 162 阅读 · 0 评论 -
Father Christmas flymouse【Tarjan缩点+DFS】
After retirement as contestant from WHU ACM Team, flymouse volunteered to do the odds and ends such as cleaning out the computer lab for training as extension of his contribution to the team. When Chr...原创 2019-02-10 21:19:54 · 349 阅读 · 0 评论 -
King's Quest【POJ 1904】【Tarjan强连通分量】
Once upon a time there lived a king and he had N sons. And there were N beautiful girls in the kingdom and the king knew about each of his sons which of those girls he did like. The sons of the king w...原创 2019-02-11 11:20:45 · 162 阅读 · 0 评论 -
【NOIP2015】信息传递【强连通分量Tarjan】
题目链接 题意一开始读错了,不是前一个传给后一个,而是对应的输入的第i位向输入的位传值,而我们需要考虑的是传到第几次会构成这样的一个环。 那么就是去考虑最短的环的,那么不就是判断每个搜索下去的点,其dfn[u]与已经在栈内中的点的dfn[v]的差值,然后去找这样的差值的最小值即可。#include <iostream>#include <cstdio>...原创 2019-04-19 22:50:24 · 199 阅读 · 0 评论 -
Network 【UVA - 315】【Tarjan求割点】
题目链接A Telephone Line Company (TLC) is establishing a new telephone cable network. They are connecting several places numbered by integers from 1 toN. No two places have the same number. The lines a...原创 2019-05-08 21:24:06 · 185 阅读 · 0 评论 -
Road Construction 【POJ - 3352】【Tarjan边双连通】
题目链接 题意:给一个无向连通图,至少添加几条边使得去掉图中任意一条边不改变图的连通性(即使得它变为边双连通图)。 思路:就是去求一个缩点之后求度为1的点的个数,然后用(ans + 1)/2就可以得到最后的答案了。#include <iostream>#include <cstdio>#include <cmath>#include &l...原创 2019-05-08 22:48:43 · 169 阅读 · 0 评论 -
Redundant Paths 【POJ - 3177】【Tarjan补边成双连通图】
题目链接 题意:告诉你有N个点,以及M条边,并且原图确定是一幅连通图,问的是再添加几条边,使得这幅图变成双连通图。 思路:因为原来的这幅图是一幅连通图,此时我们需要再添加尽可能少的边,考虑在一个环内的点,它们肯定是可以通过不同的路径到达的,我们可以将其缩点,然后变成一个无环的无向图,再看这张无向图,可以发现,我们只需要将那些度为1的点两两链接起来就可以构成一张双连通图了。#inc...原创 2019-05-07 14:10:17 · 135 阅读 · 0 评论 -
Network of Schools 【POJ - 1236】【Tarjan】
题目链接 题意:一个求的是需要给出几个信息才能传到所有的学校;另一个求的是需要再添加几组边使得所有的学校之间的信息可以相互传递,也就是还需呀加几组边使得这幅图变成强连通图。 思路:首先写在前面的,如果它已经是一幅强连通图的话,那么我们就不需要再加边了,需要特判(WA了好几次的说)。再者,考虑需要给出几个消息,不就是问的是缩点之后入度为0的点的个数吗;需要再添加几条边,就是考虑入度为0和...原创 2019-05-07 14:54:19 · 217 阅读 · 0 评论 -
[国家集训队]稳定婚姻【BZOJ2140】【强连通Tarjan】
题目链接 题意:按照顺序,对那些不安全的夫妻(就是那种生了气发了脾气就去找前男(女)友)的夫妻输出Unsalf!然后剩下的Salf!就是了。 假如只有一方会换,那是显然不行的,因为(会被抓*)的,所以只有当AB是夫妻,CD是夫妻,A的前男友是D,B的前女友是C的时候,他们就会发生“私奔”了!天呐,咋一看,就是Tarjan缩点嘛! 最后怎么输出呢,在同一个团中的夫妻,竟然是“Uns...原创 2019-07-25 16:25:18 · 208 阅读 · 0 评论 -
信息传递【NOIP2015】【强连通分量 Tarjan】
题目链接题目描述有 n 个同学(编号为 1 到 n)正在玩一个信息传递的游戏。在游戏里每人都有一个固定的信息传递对象,其中,编号为 i 的同学的信息传递对象是编号为Ti的同学。游戏开始时,每人都只知道自己的生日。之后每一轮中,所有人会同时将自己当前所知的生日信息告诉各自的信息传递对象(注意:可能有人可以从若干人那里获取信息, 但是每人只会把信息告诉一个人,即自己的信息传递对象)。当有人...原创 2019-08-13 09:18:49 · 167 阅读 · 0 评论 -
Going from u to v or from v to u? 【POJ - 2762】【Tarjan + 拓扑】
题目链接 这道题,很容易想到一个环自然就可以到达环内各点,所以不影响,然后呢,在考虑接下来有向图两点同时存在x到不了y与y到不了x的情况,就一定是两点可以同时作为拓扑排序的起点,并且是同时作为起点,两点相互没有边关系了,这里就可以用拓扑来解决这个问题。15 61 22 31 43 43 54 5Yes#include <iostream>#inclu...原创 2019-08-16 20:31:06 · 161 阅读 · 0 评论 -
Forest Program【2019CCPC 秦皇岛 F】【点双联通分量】
HDU 6736Problem DescriptionThe kingdom of Z is fighting against desertification these years since there are plenty of deserts in its wide and huge territory. The deserts are too arid to have rainf...原创 2019-10-09 20:25:37 · 274 阅读 · 0 评论 -
迷宫城堡【图之强连通】【tarjan模板】
为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的,就是说若称某通道连通了A房间和B房间,只说明可以通过这个通道由A房间到达B房间,但并不说明通过它可以由B房间到达A房间。Gardon需要请你写个程序确认一下是否任意两个房间都是相互连通的,即:对于任意的i和j,至少存在一条路径可以从房间i到房间j,...原创 2019-02-05 15:48:25 · 189 阅读 · 0 评论