图论-连通性
___Evan
这个作者很懒,什么都没留下…
展开
-
HDU - 2586 LCA
/*http://acm.hdu.edu.cn/showproblem.php?pid=2586题意: 一个村子里有n个房子,这n个房子用n-1条路连接起来,接下了有m次询问,每次询问两个房子a,b之间的距离是多少。思路: 很明显的最近公共祖先问题,先建一棵树,然后求出每一点i到树根的距离dis[i],然后每次询问a,b之间的距离=dis[a]+dis[b]-2*di原创 2013-11-03 14:07:50 · 674 阅读 · 0 评论 -
POJ-2186 Popular Cows 强连通 + 缩点
http://poj.org/problem?id=2186我们求强连通分量时,给每个顶点做一个标记,标记该顶点属于哪个强联通分量,然后属于同一个强连通分量的点就可以看作同一个点了。这就是所谓的“缩点” 此题用了个定理 :有向无环图(DAG)中,从任意一个点出发,必定可以到达某一个出度为0的点。 这个不用证明,直观想一下就行了。 因为无环,所以从一原创 2013-12-08 20:06:22 · 562 阅读 · 0 评论 -
POJ-1236 Network of Schools 强连通+缩点
题意: N个学校有网络相连 每个学校维护着一个学校列表,它向学校列表中的学校发布软件;(单向发布); 任务A: 为使每个学校都能通过网络收到软件,至少需要准备多少份软件拷贝 任务B:想确保给任意一个学校发布一个软件。该软件能发布到网络中的每个学校。为达到这个目标,必须在列表中添加新的成员,计算需要添加新成员的最小数目。思路:原创 2013-12-09 16:41:37 · 491 阅读 · 0 评论 -
HDU-3177 Redundant Paths 无向图双连通
/*大致题意: 为了保护放牧环境,避免牲畜过度啃咬同一个地方的草皮,牧场主决定利用不断迁移牲畜进行喂养的方法去保护牧草。然而牲畜在迁移过程中也会啃食路上的牧草,所以如果每次迁移都用同一条道路,那么该条道路同样会被啃咬过度而遭受破坏。 现在牧场主拥有F个农场,已知这些农场至少有一条路径连接起来(不一定是直接相连),但从某些农场去另外一些农场,至少有一条路可通行。为了保原创 2013-11-03 14:08:40 · 729 阅读 · 0 评论 -
Tarjan算法
#include#includeint DFN[105]; //dfn[i]表示dfs时达到顶点i的时间int Low[10005]; //low[i]表示i所能直接或间接达到时间最小的顶点。bool map[105][105];bool mark[105];int stack[105];int ti原创 2013-11-03 14:09:59 · 583 阅读 · 0 评论 -
hdu - 4738 Caocao's Bridges 割边
/*http://acm.hdu.edu.cn/showproblem.php?pid=4738题意:有n个岛,曹操在一些岛之间建了一些桥,每个桥上有一些士兵把守,周瑜只有一个炸弹只能炸掉一个桥,炸弹需要士兵 带过去,士兵的数量不能小于目标桥的守卫,求出最少要派出多少士兵。思路: 裸割边坑:1:原图不连通,ans=0.2: m<=n^2原创 2013-11-03 14:07:16 · 590 阅读 · 0 评论 -
POJ-1523 SPF 割点
题意:给你幅图,求割点 对每个点去掉后联通分量数;裸Tarjan#include#include#include#includeusing namespace std;const int maxn = 1025;const int inf = 1<<29;int n,son;vectormap[maxn];int dfs_clock,low[maxn],dfn[m原创 2013-12-04 12:38:03 · 468 阅读 · 0 评论 -
POJ-1904 King's Quest 强连通分量求完美匹配
http://poj.org/problem?id=1904题目意思:有n个女生和n个男生,给定一些关系表示男生喜欢女生(即两个人可以结婚),再给定一个初始匹配,表示这个男生和哪个女生结婚,初始匹配必定是合法的.求每个男生可以和哪几个女生可以结婚其他人还难能都找个女生结婚。思路:第一反应还以为是求二分完美匹配,百度题解再知道用连通分量 0.0 将男生从1到n编号,女生从(n+1)到2原创 2013-12-03 20:08:10 · 667 阅读 · 0 评论 -
图论连通性历程
Tarjan算法POJ-1144 Network 求割点hdu - 4738 Caocao's Bridges 割边POJ-1523 SPF 割点HDU-3177 Redundant Paths 无向图双连通poj 2942 圆桌武士 双连通分量+二分图+奇圈判断原创 2013-12-04 18:41:36 · 838 阅读 · 0 评论 -
POJ-1144 Network 求割点
// 佳哥版本 32 ms#include#include#includeusing namespace std;const int maxn = 105;int n;int time;vectormap[maxn];int low[maxn],dfn[maxn];bool iscut[maxn];void tarjan( int u, int fa ){ low[u]原创 2013-11-03 14:09:38 · 574 阅读 · 0 评论 -
poj 2942 圆桌武士 双连通分量(BCC)+二分图+奇圈判断
//http://blog.csdn.net/lyy289065406/article/details/6756821//刘汝佳版/*大致题意:亚瑟王要在圆桌上召开骑士会议,为了不引发骑士之间的冲突,并且能够让会议的议题有令人满意的结果,每次开会前都必须对出席会议的骑士有如下要求:1、 相互憎恨的两个骑士不能坐在直接相邻的2个位置;2、 出席会议的骑士数必须是奇数,这是为了让投票表原创 2013-11-03 14:09:13 · 1027 阅读 · 0 评论