双连通分量
Evolution__
这个作者很懒,什么都没留下…
展开
-
[双连通分量]poj1679 Road Construction
题意给出一个连通的无向图,求至少增加多少条边让这个图变成边双连通图思路其实题目意思很清晰很明白,但是怎么操作才是重点。 那么首先先想想怎么把整个图简化一下, 先求一次边双连通分量。 因为边双连通分量本来就是个边双连通图,那么这里面无论怎样增边,都是无意义的,那么就可以把它缩成一个点。 将所有的边双连通分量都缩成一个点之后,原图变成了一棵树。 那么,如何让一棵树变成一个双连通图,是一个问题。原创 2017-07-31 22:26:35 · 204 阅读 · 0 评论 -
[双连通分量]LA5135 Mining your own business
题意给出一个连通图,求在这个图中,至少给多少个点染色,使得在删除了任意一个点后,每个连通分量里都有一个染色的点,并且求方案数。思路首先先求一次双连通分量,然后用贪心的思想发现,如果把割点染色,显然一旦割点被删就会有多个连通分量中没有染色点,所以给割点染色是不好的。 那么只要将一个双连通分量中的一个非割点染色,那么就算割点被删,它也能自成一体,如果所有的双连通分量都是这样,即使这个点被原创 2017-08-08 20:34:41 · 207 阅读 · 0 评论 -
[双连通分量]LA3523 Knights of the Round Table
可以说是第一次写蓝书上的题←_←也是第一次去做LA题库上的题,所以是用VJ交的2333。题意有很多个骑士,有些骑士相互憎恨,然后可以举办圆桌会议,允许3个及以上的奇数个骑士参加,相互憎恨的骑士不能相邻地坐,问有多少名骑士一个会议都不能参加。思路首先先把原来的问题转化成一个图的问题。 把骑士都看做结点,然后建立一个无向图,如果两个骑士可以相邻,也就是不相互憎恨,就连一条无向边。相当于是把憎恨的关系看原创 2017-08-02 20:12:44 · 255 阅读 · 0 评论 -
[双连通分量]poj3694 Network
题意就是给出一个图,然后不断地给它加边,问有多少条桥思路首先这题其实和poj1679有点像 为什么这么说呢, 因为只要先求一次桥,然后就把双连通分量缩点,然后每一次连的边就可以相当于是求LCA,然后暴力LCA时经过的桥就不是桥了。然后看了网上一些题解发现连缩点都不用,可以直接用原来的点来做LCA。 因为反向边必然不是桥,所以只有树边会是桥。所以沿着树边做LCA的过程其实就可以把缩点略过了←_←原创 2017-08-10 19:17:04 · 206 阅读 · 0 评论 -
[双连通分量] tarjan算法
在前面说的话其实这个借鉴了网上的一些教程/总结,但是主要还是看lrj的蓝书并有部分引用以及自己的一些理解而成的,仅仅是为了给自己或他人总结用的,而不希望用于任何其他的用途亦或是被说抄袭。引入首先先来看几个概念 割点(割顶、关节点),在一个无向图中,如果删除了某一个点,能使连通分量的个数增加, 那么称这个点为割点 特殊的情况:对于一个连通图,割点就是在删除以后能让原图不再连通的点 桥,在一个无向原创 2017-07-26 20:09:50 · 1744 阅读 · 0 评论