
图连通性
图连通性
correct!
It's better to burn out than to fade away.
展开
-
hdu 1827 Summer Holiday (tarjan + 缩点)
题目链接 题目大意: 通知人需要一定的电话费,通知可以传递,给出m组关系,每组一个a一个b,表示a会打电话给b,问最少要通知多少个人,并且求最少的电话费 思路: 首先同tarjan求所有的强连通分量,然后缩点,找对应的强连通分量的点有几个入度为0,入度为0表示除了你没人会联系他,所以入度为0的点就是最小人数,然后再贪心的去找入度为0的点中电话费最小的,求和即可 入度为0的找法: 如果一...原创 2019-08-24 10:38:54 · 211 阅读 · 0 评论 -
hdu 2767 Proving Equivalences(tarjan 强连通分量 缩点)
题目链接 题目大意 一个有向图,问最少添加几个点能使整个图成为一个强连通图 思路 tarjan求强连通分量,缩点,如果只有一个强连通分量,说明整个图本身就是一个强连通图,如果有多个强连通分量,求每一个强连通分量的入度和出度,入度为0的点和出度为0的点的最大值就是结果,因为如果一个图强连通,需要每一个点都至少有一个出度一个入度,添加一个边会影响一对出度和入度,因此取最大值 #includ...原创 2019-08-24 18:42:06 · 170 阅读 · 0 评论 -
hdu 3072 Intelligence System(强连通分量)
题目链接 题目大意 有一个信息要通知给所有人,同一个强连通分量内的人互相传递没有消耗,对于每一对给出的a b c表示a 传递给 b 消耗为 c,问把消息传递给所有人的最小消耗(有重边) 思路 求图中的强连通分量,缩点,重新建图,每一个强连通分量内的点我们只传递一个就行了,定义一个cost数组,cost[i]表示传递给编号为 i 的强连通分量的消耗最小值,首先将cost[i]初始化为从0到 ...原创 2019-08-24 19:05:04 · 138 阅读 · 0 评论 -
tarjan求割点
首先分享一篇很不错的blog 博客链接 在tarjan求强连通分量时,有一个dfn数组和一个low数组,分别记录了dfs遍历树的次序,和通过不在搜索序列上的边能到达的最小的dfn的值,如果对于一个点 a 和它的子节点 b ,在遍历的时候如果子节点 b 没有办法通过一个不在搜索序列边到达更小的一个dfn的话(即不能到达比 a 的dfn小的位置)即, low[b] >= dfn[a]; ...原创 2019-08-24 21:31:43 · 150 阅读 · 0 评论 -
hdu 1269 迷宫城堡 (强连通分量) tarjan
题目链接 题目描述: 为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的,就是说若称某通道连通了A房间和B房间,只说明可以通过这个通道由A房间到达B房间,但并不说明通过它可以由B房间到达A房间。Gardon需要请你写个程序确认一下是否任意两个房间都是相互连通的,即:对于任意的i和j,至少存在一条...原创 2019-08-22 19:04:38 · 240 阅读 · 0 评论 -
poj 2186 (强连通分量)
题目链接 题目大意: 有 n 头牛,m 个关系,每个关系对应一个a 和 b ,代表 a 喜欢 b ,如果 a 喜欢 b ,b 喜欢 c ,那么 a 也喜欢 c ,(关系可传递),但是 a 喜欢 b 不代表 b 喜欢 a ,求有几头牛是受所有牛喜欢的 思路: 将 a 喜欢 b 这样的关系抽象成一条 a 指向 b 的有向边,可以建立一个有向图,求有向图中的强连通分量(因为同一个强连通分量内的点...原创 2019-08-22 21:35:09 · 160 阅读 · 0 评论 -
tarjan求割边(无向图)
割边求法: 满足以下条件的边(x, y)是割边 dfn[x] < low[y]; 其实就是比割点少了一个等号的判定条件 原因: 上述不等式的含义是,在y这个点,不经过边(x, y)的前提下,没有办法走到 x 或者更早的点,一旦删掉边(x, y),整个图将会分成两部分,因此(x, y)是割边 ...原创 2019-09-03 20:04:48 · 365 阅读 · 0 评论