强连通
Kewowlo
这个作者很懒,什么都没留下…
展开
-
强连通分量模板
int V;//定点数 vector G[MAX_V];//图的邻接表表示 vector rG[MAX_V];//把边反向后的图 vector vs;//后序遍历顺序的顶点列表 bool used[MAX_V];//访问标记 int cmp[mAX_V];//所属强连通分量的拓扑序 void add_edge(int from,int to){ G[fro原创 2014-04-18 20:20:59 · 1023 阅读 · 2 评论 -
【割点】 HDU 4587 TWO NODES
点击打开链接 去掉两个点后,连通图的个数 先枚举一个点,去掉该点,然后在对剩下的图DFS求去掉一个割点后连通图的个数 若没边时,DFS得到的是点的个数而没有去掉割点,所以需要 ans - 1 #include #include #include #include #include #include #include using namespace std; #def原创 2015-05-10 21:12:22 · 627 阅读 · 0 评论 -
【强连通】 HDU 4612 Warm up
点击打开链接 题意:求添加一条边后,最少有多少条割桥。(会有重边) 解:需要求割桥,撸一个强连通后统计下割桥个数。然后选择添加边,要使减少的桥最多,需要使得 强连通后的树中形成一个最大的圆。 就是这树的直径(用两次BFS可得) #pragma comment(linker, "/STACK:1024000000,1024000000") #include #inclu原创 2015-03-17 19:26:19 · 562 阅读 · 0 评论 -
【强连通】 HDU 4685 Prince and Princess
点击打开链接 题意:n个王子,m个公主,配对。每个王子可以在给出的ki个公主中选一个结婚。。 求最大的配对情况下,配对的状态。 题解:最后的answer 肯定是一些公主之间的连通的状态。 二分匹配找到与王子配对的公主。 再对公主对应的王子对应的ki个公主建边,形成的连通图既是对应某个王子的能取的公主 #pragma comment(linker, "/STACK:1024000000,原创 2015-03-17 22:04:37 · 581 阅读 · 0 评论 -
【割桥】 HDU 4738 Caocao's Bridges 重边 割桥权值最小值
点击打开链接 若图不连通输出 0 若无割桥输出 -1 若最小值==0 输出1 #include #include #include #include #include #include #include #include using namespace std; #include #include #include #include #include原创 2015-02-12 23:07:53 · 644 阅读 · 0 评论 -
【强连通】 POJ 1236 Network of Schools
点击打开链接 题意: 1.求最小的点数使得信息到达所有的点。 2.再增加多少条边使得全图为一个强连通图 解:1.ans= NUM【入度=0】 2.MAX( NUM[入度=0],NUM[出度=0]) 注意已是一个强连通图时 #include #include #include #include #include #include #include #include us原创 2015-02-10 14:09:12 · 490 阅读 · 0 评论 -
【最小割】HDU 4971 A simple brute force problem.
说是最大权闭合图.... 比赛时没敢写.... 题意 一共有n个任务,m个技术 完成一个任务可盈利一些钱,学习一个技术要花费钱 完成某个任务前需要先学习某几个技术 但是可能在学习一个任务前需要学习另几个任务 求最多能赚多少钱咯 先将缩点将需要一起学掉的技术缩成一个点 建s--任务 权值为该任务盈利多少钱 建技术(缩点后)-t 权值为学习这技术的花费(总) 任务-技术原创 2014-08-21 22:30:26 · 1245 阅读 · 0 评论 -
HDU 3594 Cactus 强连通判断仙人掌图
给出点与点的关系 判断是否为仙人掌图原创 2014-07-10 20:23:24 · 903 阅读 · 0 评论 -
POJ 3114 Countries in War 强连通+最短路
用floyd超时了。。。注定的事情。。。题意:看案例就跑出来了。。不需要看题了把。。#include #include #include using namespace std; #include const int INF =1999299; int minn(int a,int b) { return a>b?b:a; } #define N 510 #define M 251000原创 2014-08-02 20:31:23 · 1059 阅读 · 0 评论 -
强连通tarjan模版
转自九野博客:地址转载 2014-07-05 19:45:18 · 758 阅读 · 0 评论 -
HDU 3836&&HDU2767 强连通
至少加几条边让整个图变成强连通原创 2014-07-05 21:20:28 · 704 阅读 · 0 评论 -
HDU 3861 The King’s Problem 强连通+二分匹配
题意: 互通的城市算一个州内原创 2014-07-05 23:37:29 · 819 阅读 · 0 评论 -
【并查集+强连通】 HDU 5222 Exploration
点击打开链接 对于有向图: 对于一条边u,v 若uv在一个集合内则成环 对于无向图:用强向量判断 #include #include #include #include #include using namespace std; #include #include #include #include #include #define LL long long #defi原创 2015-05-07 18:52:18 · 506 阅读 · 0 评论