随笔分类 - Tarjan
poj3177 Redundant Paths
摘要:题目大意:给一个连通图,求最少加多少边使它变成一个点联通分量。 先找割边,然后把没有桥的点双连通分量缩成一个连通分量。 这些连通分量按原来的关系连在一起就是一颗树。 把树变成一个点双联图图需要加(叶节点数+1)/2个边。 问题是怎么求点双连通分量。 如果一个点的dfn=low,说明目前栈中的元素都需
洛谷P3119 USACO15JAN 草鉴定
摘要:题目描述 In an effort to better manage the grazing patterns of his cows, Farmer John has installed one-way cow paths all over his farm. The farm consists
洛谷P2746 USACO5.1 校园网
摘要:题目描述 一些学校连入一个电脑网络。那些学校已订立了协议:每个学校都会给其它的一些学校分发软件(称作“接受学校”)。注意即使 B 在 A 学校的分发列表中, A 也不一定在 B 学校的列表中。 你要写一个程序计算,根据协议,为了让网络中所有的学校都用上新软件,必须接受新软件副本的最少学校数目(子任务
洛谷P1262 间谍网络
摘要:题目描述 由于外国间谍的大量渗入,国家安全正处于高度的危机之中。如果A间谍手中掌握着关于B间谍的犯罪证据,则称A可以揭发B。有些间谍收受贿赂,只要给他们一定数量的美元,他们就愿意交出手中掌握的全部情报。所以,如果我们能够收买一些间谍的话,我们就可能控制间谍网中的每一分子。因为一旦我们逮捕了一个间谍,
Loj10094 消息的传递
摘要:题目描述 我们的郭嘉大大在曹操这过得逍遥自在,但是有一天曹操给了他一个任务,在建邺城内有 NNN 个袁绍的奸细,将他们从 111 到 NNN 进行编号,同时他们之间存在一种传递关系,即若Ci,j=1C_{i,j}=1Ci,j=1,则奸细 iii 能将消息直接传递给奸细 jjj。 现在曹操要发布
bzoj1123 Blockade
摘要:Description Byteotia城市有n个 towns m条双向roads. 每条 road 连接 两个不同的 towns ,没有重复的road. 所有towns连通。 Byteotia城市有n个 towns m条双向roads. 每条 road 连接 两个不同的 towns ,没有重复的r
poj2117 Electricity
摘要:试题描述 求一个图删除一个点之后,联通块最多有多少。 输入 多组数据。第一行两个整数 P,C 表示点数和边数。接下来 C 行每行两个整数 p1,p2,表示 p1 与 p2 有边连接,保证无重边。读入以 0 0 结束。 输出 输出若干行,表示每组数据的结果。 输入示例 3 30 10 22 14 20
bzoj1393 旅游航道
摘要:Description SGOI旅游局在SG-III星团开设了旅游业务,每天有数以万计的地球人来这里观光,包括联合国秘书长,各国总统和SGOI总局局长等。旅游线路四通八达,每天都有总躲得载客太空飞船在星团的星球之间来往穿梭,他们保证了任意两个星球之间总是可以通过航道到达。但是,最近由于财政出现了困难
洛谷P1341 最受欢迎的奶牛
摘要:题目描述 每头奶牛都梦想成为牛棚里的明星。被所有奶牛喜欢的奶牛就是一头明星奶牛。所有奶 牛都是自恋狂,每头奶牛总是喜欢自己的。奶牛之间的“喜欢”是可以传递的——如果A喜 欢B,B喜欢C,那么A也喜欢C。牛栏里共有N 头奶牛,给定一些奶牛之间的爱慕关系,请你 算出有多少头奶牛可以当明星。 输入输出格式
Tarjan 算法详解
摘要:一个神奇的算法,求最大连通分量用O(n)的时间复杂度,真实令人不可思议。 废话少说,先上题目 题目描述: 给出一个有向图G,求G连通分量的个数和最大连通分量。 输入: n,m,表示G有n个点,m条边 下面m行每行包含 x,y,表示有一条x到y的有向边 输出: 第一个数表示连通分量的个数,第二个数代表
图的割点与割边
摘要:话说割点概念,应该很好理解: 一个图,如果一个点消失,这个点就不连通,那么这个点就是这个图的割点(无向图) 举个例子: 很明显,4就是这个图的割点。 所以怎么求割点呢?? 来来来,先上数据: 嗯,注意这是无向图!!! 做法是这样的 首先,记录每一个点的时间截,也就是dfs第几次搜索到这个点,时间截图