![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
强连通
whoammiiiiii
这个作者很懒,什么都没留下…
展开
-
SCC BCC经典题目小结
hdu 3836 题意: 最少加几条边使得整张图scc。 思路: 先求出强连通分量对scc重新建图,预处理出新图每个点的入度和出度,统计出新图中出度为0和入度为0的点的个数分别为out0和in0,答案就是max(out0,in0)。 poj 2186 题意: 有m对奶牛之间的喜欢关系,喜欢关系有传递性,现在问有多少牛被所有的牛喜欢?(或有哪些牛) 思路: 先求出强连通分量对scc重新建图,预处理出新图每个点的出度,设出度为0的点数为cnt,如果cnt>1,就无解,否则cnt就是1,有解,遍历每个点属于原创 2020-10-15 02:08:56 · 287 阅读 · 0 评论 -
UVA 11324 (强连通+拓扑排序求DAG最长路)
题目链接 题意: 给你一张有向有环图。 问一笔画能走的最长长度是多少。 思路: 先用强连通缩点,得到DAG,再用拓扑排序求DAG最长路的思想得出答案。 注意缩点以后重新建图不能建自环鸭。 const int N = 1100+100; //点数 int n,m; int scc, top, tot; vector<int> G[N]; vector<int> E[N]; int low[N], dfn[N], belong[N],indeg[N],big[N],dp[N];原创 2020-10-12 20:06:54 · 197 阅读 · 0 评论 -
POJ 1236(强连通)
题目模型: 最小放东西在几个点能传递到所有点。 最少加几条边就能放一个点传递到每个点。 转换模型: 强连通缩点 读为0的点的数量。 max(入度为0的点的数量,入度为0的点的数量)。 只有一个强连通的情况特判。 #include <stdio.h> #include <vector> #include <algorithm> #include <string.h> #include <limits.h> #include <string>原创 2020-08-28 00:06:47 · 263 阅读 · 0 评论 -
hdu 3639 Hawk-and-Chicken(求被指(直接+间接)最多的点有哪些and值)
题目链接 题意: n个人搞投票,m个关系a->b,表示a投票给b。 a投票给b,b投票给c,表明a也投票给c。 获得票数最多的那些人当老大,现在问你票数最多是多少,以及有哪些人。 也就是求图中点被指(直接+间接)的最大值+集合。 思路: 强连通缩点,得到dag,然后反向建边,现在只要走入度为0的点就行了,因为入度为0肯定是最优的,如果你还有入度,那入度连接的那个点肯定走的至少比你多一个(本身...原创 2020-05-06 04:17:22 · 139 阅读 · 0 评论 -
hdu 1827 Summer Holiday(tarjan缩点)
题目链接 思路: 先tarjan缩一下点,然后看每个集团之间的连线,发现需要的花费就是每个入度为0的集团里最小的花费之和,记录有多少个入度为0的集团,把集团中的最小花费加起来就行了。 可以和hdu 2767类比一下,问法有点类似,简单的说这道题只要满足a->b,而hdu 2767那道题要满足a->b和b->a。 #include <bits/stdc++.h> #d...原创 2020-04-30 02:02:53 · 145 阅读 · 0 评论 -
hdu 2767 Proving Equivalences(求最少加几条边使图变为强连通图)
题目链接 思路: 先用tarjan缩点 然后说结论: 设in0为图中入度为0点的个数,out0为图中出度为0点的个数,最少需要加max(in0, out0)才能使图变为强连通图。当然,如果已经是强连通图的情况要特判一下。 个人的理解是这样的,因为强连通图每个点的入度和出度肯定是>=1的,所以目标就是让图中的每个点入度和出度都>=1就能变成强连通图, 而每次加边最多只能同时消灭一个入度为...原创 2020-04-30 00:18:32 · 278 阅读 · 0 评论 -
洛谷 P2341 受欢迎的牛(tarjan缩点)
题目链接 题意: 有n头牛,m个关系a,b,表示a牛喜欢b牛,现在规定一头牛是明星的条件是除了他其他所有的牛都喜欢他,现在问你有多少头牛可以当明星。 思路: 因为n是1e4,所以floyd求传递闭包肯定是不行的,然后就学了下tarjan缩点,因为每个强连通分量里的每个牛肯定是互相喜欢的,所以我们要找强连通分量出度为0的那一团。 1.只找到一团出度为0的强连通分量,答案就是那一团的大小。 2.找到0...原创 2020-04-26 03:40:03 · 116 阅读 · 0 评论