会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
walfy
博客园
首页
新随笔
联系
管理
随笔分类 -
图论之双连通分量
bzoj2730
摘要:题意:煤矿工地可以看成是由隧道连接挖煤点组成的无向图。为安全起见,希望在工地发生事故时所有挖煤点的工人都能有一条出路逃到救援出口处。于是矿主决定在某些挖煤点设立救援出口,使得无论哪一个挖煤点坍塌之后,其他挖煤点的工人都有一条道路通向救援出口。请写一个程序,用来计算至少需要设置几个救援出口,以及不同最
阅读全文
posted @
2019-02-27 19:42
walfy
阅读(215)
评论(0)
推荐(0)
2015-2016 ACM-ICPC Northeastern European Regional Contest (NEERC 15)C - Cactus Jubilee
摘要:题意:给一颗仙人掌,要求移动一条边,不能放在原处,移动之后还是一颗仙人掌的方案数(仙人掌:无向图,每条边只在一个环中),等价于先删除一条边,然后加一条边 题解:对于一颗仙人掌,分成两种边,1:环边:环上的边2,树边:非环上的边 考虑1.删除树边,那么只需联通两个联通快,那么方案数就是两个联通块乘积
阅读全文
posted @
2018-11-15 21:26
walfy
阅读(445)
评论(0)
推荐(0)
2018 USP Try-outsF - Optimizing Transportation in Portugal
摘要:题意:给你一副无向图,求使s到t删掉一条的最短路最大的长度 题解:先预处理s,t到每个点的最短路,二分答案,对于一条边,如果选中这条边,那么对于s u+u v+v t或者s v+v u+v t必须比二分的答案大,如果比二分的答案小,那么单独存下来对于这些不满足的边,我们看是否存在s到t的桥,如果有,
阅读全文
posted @
2018-10-12 14:47
walfy
阅读(241)
评论(0)
推荐(0)
Educational Codeforces Round 42 (Rated for Div. 2)F - Simple Cycles Edges
摘要:http://codeforces.com/contest/962/problem/F 求没有被两个及以上的简单环包含的边 解法:双联通求割顶,在bcc中看这是不是一个简单环,是的话把整个bcc的环加到答案中即可(正确性显然,因为bcc一定是环了,然后如果一个bcc不是简单环,那么所有边一定包含在两
阅读全文
posted @
2018-04-16 18:52
walfy
阅读(260)
评论(0)
推荐(0)
poj2942 点-双联通+二分图染色
摘要:题意:有一群骑士要坐在一个圆形的桌子上,他们之间有些人相互讨厌,所以不能挨着,要求算出一次也不能坐在桌子上的人,每次会议桌子必须奇数个人,一个人不能开会 题解:可以先建一个补图,要满足题目条件我们只要找出所有奇圈(奇数个点的环),求出点-双联通分量,对于每一个单独的点-双连通分量,如果它一定是一个奇
阅读全文
posted @
2017-10-28 16:24
walfy
阅读(261)
评论(3)
推荐(0)
poj1523割顶-点双联通
摘要:题意:求出所有的割顶,而且还有输出该割顶连接了几个点双连通分量 题解:直接tarjan求点双联通分量就好了,可以在加入边的时候记录加入次数,大于1的都是桥,输入输出很恶心,注意格式 #include<map> #include<set> #include<list> #include<cmath>
阅读全文
posted @
2017-10-28 14:14
walfy
阅读(168)
评论(0)
推荐(0)
poj3694 边-双连通分量+lca
摘要:题意:先给了一张无向图,然后依次加边,每次求桥的数量 题解:先用一次tarjan,我们可以标记桥的位置和记录桥的数量同时记录fa数组,然后更新边的时候我们可以用lca,因为在tarjan缩点之后得到了一颗树,当连接a,b节点时,可以直观的看出从a,b的最近公共祖先到a,b之间所有的桥都会消失,我们可
阅读全文
posted @
2017-10-28 01:54
walfy
阅读(209)
评论(0)
推荐(0)
poj3177边-双连通分量
摘要:题意和poj3352一样。。唯一区别就是有重边,预先判断一下就好了 #include<map> #include<set> #include<list> #include<cmath> #include<queue> #include<stack> #include<vector> #include
阅读全文
posted @
2017-10-27 21:46
walfy
阅读(157)
评论(0)
推荐(0)
poj3352 边-双联通分量
摘要:题意:给一个无向图,问最少加几条边变成边-双联通 题解:求一次双联通,缩点,这样就变成了一棵树,结果就是(树上的叶子节点+1)/2,叶子节点可以通过入度判断 #include<map> #include<set> #include<list> #include<cmath> #include<que
阅读全文
posted @
2017-10-27 21:19
walfy
阅读(282)
评论(0)
推荐(0)
Codeforces Round #377 (Div. 2) F - Tourist Reform
摘要:前言:关于如何求双连通分量,我们可以在tarjan搜索时标记下所有桥的位置(双连通分量(可以认为是没有桥的无向图图)即可通过删去所有桥得到),那么怎么找桥呢,对于每一条搜索到的边u->x,如果low【u】>dfn【x】则说明u不能通过子图到达比x更早的节点,那么就说明该边是桥 题意:把一个无向图变成
阅读全文
posted @
2017-10-27 19:13
walfy
阅读(200)
评论(0)
推荐(0)
公告