随笔分类 - 图论—强连通分量
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=6072 题意: 给你n∗n的矩阵,每次修改k条边,让你计算其中能相互到达的点对有多少。 思路: 其实就是求强连通分量,如果一个强连通分量里有n个点,那么这里面的点对就有n∗(n−1)/2。用Kosaraju
阅读全文
摘要:https://vjudge.net/problem/UVALive-4287 题意: 给出n个结点m条边的有向图,要求加尽量少的边,使得新图强连通。 思路:强连通分量缩点,然后统计缩点后的图的每个结点是否还需要出度和入度。
阅读全文
摘要:http://codeforces.com/gym/101246/problem/G 题意: 给出一个有向图,现在可以把图中的任意一条边改为无向边,问强连通分量最多可以有多少个点,在此情况下输出所有能改的边。 思路: 先dfs求出每个点能到达的点,用一个二维数组来存一下。 接下来枚举每一条边,把 u
阅读全文
摘要:http://poj.org/problem?id=2762 题意:给出有向图,判断任意两个点u和v,是否可以从u到v或者从v到u。 思路: 判断图是否是单连通的。 首先来一遍强连通缩点,重新建立新图,接下来我们在新图中找入度为0的点,入度为0的点只能有1个,如果有多个那么这些个点肯定是不能相互到达
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=3639 题意: 有一群孩子正在玩老鹰抓小鸡,由于想当老鹰的人不少,孩子们通过投票的方式产生,但是投票有这么一条规则:投票具有传递性,A支持B,B支持C,那么C获得2票(A.B共两票),输出最多能获得的票数是多少张和
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=3861 题意: 国王要对n个城市进行规划,将这些城市分成若干个城市,强连通的城市必须处于一个州,另外一个州内的任意两个城市u,v,有从u到v的路径或从v到u的路径。求最少可以分成几个州。 思路: 这道题目挺好。 首
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1827 题意: 听说lcy帮大家预定了新马泰7日游,Wiskey真是高兴的夜不能寐啊,他想着得快点把这消息告诉大家,虽然他手上有所有人的联系方式,但是一个一个联系过去实在太耗时间和电话费了。他知道其他人也有一些别人
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=3594 题意: 一个有向图,判断是否强连通和每条边只在一个环中。 思路: 仙人掌问题。 用Tarjan算法判断强连通分量的时候,记录每节结点的父节点。当找到一个环后,回溯将该环上的所有结点+1,如果有结点出现2次了
阅读全文
摘要:https://vjudge.net/problem/UVA-11324 题意:给一张有向图G,求一个结点数最大的结点集,使得该结点集中任意两个结点u和v满足,要么u可以到达v,要么v可以达到u。 思路: 找到SCC后进行缩点建图,每个点的权值则为其连通分量的点数,这样就是找DAG上一条最大路径,D
阅读全文
摘要:http://poj.org/problem?id=2186 题意: 一个有向图,求出点的个数(任意点可达)。 思路: Kosaraju算法的第一次dfs是后序遍历,而第二次遍历时遍历它的反向图,从标号最大的结点开始遍历。 对于这道题,在求解强连通分量之后,能被所有点可达只可能是最后一个强连通块,根
阅读全文