随笔分类 - 图论——tarjan
摘要:题意:n个王子有自己喜欢的ki个公主,有n个公主,每个王子只能娶一个自己喜欢的公主且不能绿别的王子。现在给你一种王子娶公主的方案,并且保证这种方案是正确的。请你给出,每个王子能娶哪些公主,要求娶这些公主时,其他王子也能娶到公主。 思路:还以为是完全匹配,直接暴力匹配显然TLE了。正解是缩点...我们
阅读全文
摘要:题意:有n个点,m条路,问你最少加几条边,让整个图变成边双连通分量。 思路:缩点后变成一颗树,最少加边 = (度为1的点 + 1)/ 2。3177有重边,如果出现重边,用并查集合并两个端点所在的缩点后的点。 代码:
阅读全文
摘要:题意:给你一个无向图,有q次操作,每次连接两个点,问你每次操作后有几个桥 思路:我们先用tarjan求出所有的桥,同时我们可以用并查集缩点,fa表示缩点后的编号,还要记录每个节点父节点pre。我们知道,缩点后形成一棵树,所有边都是桥,连接两点必会成环,环上任意边都不是桥。所以连点后,我们把两个点一步
阅读全文
摘要:思路:建一个有向图,指向能引爆对象,把强连通分量缩成一点,只要点燃图中入度为0的点即可。因为入度为0没人能引爆,不为0可以由别人引爆。 思路很简单,但是早上写的一直错,改了半天了,推倒重来才过了...
阅读全文
摘要:题意:求桥思路:求桥的条件是:(u,v)是父子边时 low[v]>dfn[u] 所以我们要解决的问题是怎么判断u,v是父子边(也叫树枝边)。我们在进行dfs的时候,要加入一个fa表示当前进行搜索的点的父节点。v=edge[v].v,如果dfn[v]==0即没访问过,那...
阅读全文
摘要:题目:牛客题目链接思路:这道题有点像这道题先缩点,缩完之后判断一下整个强连通分量入度是不是0,如果是的话向ans压入该强连通分量最小的那个值。最后排序一下ans输出就行了。思路一下就想到了,就是写的有点迷,WA了好几发,加点注释...炜神tql...果然我还是菜鸡,水...
阅读全文
摘要:DescriptionA Telephone Line Company (TLC) is establishing a new telephone cable network. They are connecting several places numbered b...
阅读全文
摘要:题意:一个有向图。第一问:最少给几个点信息能让所有点都收到信息。第二问:最少加几个边能实现在任意点放信息就能传遍所有点思路:把所有强连通分量缩成一点,然后判断各个点的入度和出度tarjan算法:问问神奇海螺啥是tarjan代码:#include#include#inc...
阅读全文