题意:给出人物关系图,要把一个通知告诉所有人,告诉每一个人有一个费用,现在想知道最小通知的人与费用。
思路:利用Tarjan算法,对原图进行缩点,然后找出入度为0 的点,那么这个人是必须要通知的,由于经过缩点,所以,如果这个点是缩点来的,那就枚举下这个点里的任一个点,找到最小的费用点。
#include
#include
#include...
分类:
其他好文 时间:
2015-08-27 13:22:17
阅读次数:
241
题意: 至少加几条边让整个图变成强连通。
思路:对于N个点的图,我们知道至少需要N条边才能使这个图强连通,现在我们先对题目的图计算一下强连通,对于已经在一个强连通的点,把他们看做为一个点,然后对新形成的图,计算出度,入度为0的最大值,因为,加一边,可以使入度,出度加一。
#include
#include
#include
#include...
分类:
其他好文 时间:
2015-08-27 11:05:38
阅读次数:
116
Summer Holiday
Time Limit: 10000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2199 Accepted Submission(s): 1023
Problem Description
To see a World...
分类:
其他好文 时间:
2015-08-19 13:34:30
阅读次数:
148
http://acm.hdu.edu.cn/showproblem.php?pid=1269判断一个图是不是强连通,缩点之后判断顶点数是不是为1即可. 1 #include 2 #include 3 #include 4 #include 5 #include 6 #inclu...
分类:
其他好文 时间:
2015-08-14 09:57:22
阅读次数:
191
题意:n个城市m条有向边,把这些城市分成若干个州,分的原则是(1)u和v可以互相到达的话他们两个必须在同一个州(2)同一个州里任意两个城市u和v要满足u可以到达v或者v可以到达u。问州的最小个数是多少。
思路:先用Tarjan算法进行缩点,在缩点后的图上进行二分图匹配,最后求得最小路径覆盖=强连通个数-最大匹配数。
可以看一下:
http://blog.csdn.net/hellobabygogo3/article/details/7900812
http://www.cnblogs.com/ka20081...
分类:
其他好文 时间:
2015-08-02 11:50:57
阅读次数:
112
题目链接:
poj2762
题意:
给出一幅单向图,问这张图是否满足 任意两点ab 都能 从a到达b 或 从b到达a
题解思路:
判断一幅图是否满足弱连通
首先想到的是将图中的 强连通分量(能互相到达的顶点集) 进行缩点
然后再根据原有边 重新建图
如果缩点后的图是一条单链(回路,通路都可以) 则一定...
分类:
其他好文 时间:
2015-07-09 14:40:58
阅读次数:
98
链接 :
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=20841
题意 :多米诺骨牌 如果有边存在u -> v 说明u倒了v也自动倒了。问最少需要手动推到几个。
如果一些牌属于同一个强连通分量 那么任意推倒其中之一就算全部推倒。可以强连通缩点之后 推倒的一定是没有入度的牌。
#pragma com...
分类:
其他好文 时间:
2015-05-25 06:09:38
阅读次数:
216
链接 :
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=10294
题意 : 告诉你n个等价的命题 和m个关系 比如 (u,v)代表u可以推导出v, 问至少需要补充多少条边。
用强连通缩点成一张DAG。
#include
#include
#include
#include
#includ...
分类:
其他好文 时间:
2015-05-19 16:33:48
阅读次数:
149
链接 :
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=30726
题意 : 有向图G,求一个最大的点集,使得点集中任意两个节点u和v,满足 要么u可以到达v,要么v可以到达u,或者u和v可以相互到达。
可以强连通缩点成一张DAG,以为每个强连通分量要么选要么不选。求DAG上的最长路 二次建图 用了2种不同的...
分类:
其他好文 时间:
2015-05-19 16:32:12
阅读次数:
112
poj3592:题目链接
题目大意:给出n*m的矩阵,其中数字代表矿物的数量,#代表不可达,*代表传送门,传送到给定的位置。问最多可以收集多少矿物(每个矿物只能被收集一次,可以经过多次)
因为存在传送门,所以就会形成环,用强连通将形成环的缩成一个点,记录每个点代表的矿物数,最后用spfa找出最长路,也就是可以得到的最多的矿物数。(不会出现矩阵外的点)
#include
#include
...
分类:
其他好文 时间:
2015-05-16 18:24:18
阅读次数:
90