强联通
文章平均质量分 87
浪子小黄人
这个作者很懒,什么都没留下…
展开
-
Summer Holiday (hdu 1827 强联通缩点)
题意不多说,先Tarjan缩点,然后求出每个联通块的入度,入度为0说明至少要给这个联通块中的某一个人打电话,费用取这个联通块中花费最小的那一个。原创 2015-07-12 10:16:40 · 662 阅读 · 0 评论 -
Intelligence System (hdu 3072 强联通缩点+贪心)
题意:n个人m个单向关系,现在要通知所有的人,两个人之间联系有费用,求最小费用,处于同一个联通块的两个人之间通讯不需要花费。思路:先建图使用Tarjan算法缩点,然后根据题意我们应该求缩点后新图的最小树形图,但是这里没必要,为什么?仔细想一想,首先题意说总是有解,所以最小树形图一定存在,那么我们对于每一个点在它的所有入边中选择一个花费最小的入边(入度为零的点除外)那么答案就是每个点的最小花费之和。这样贪心是可行的,因为在这个过程中不会出现环,很容易想到,如果出现了环那么这个环就又是一个联通块了,可是我们原创 2015-07-12 13:33:37 · 676 阅读 · 0 评论 -
Proving Equivalences (hdu 2767 强联通缩点)
题意:n个点m条边,问最少添加多少条边使得整个图联通。思路:先Tarjan求强联通分量,缩点,再求缩点后的点的入度和出度,入读为0的点的个数为a,出度为0的点的个数为b,ans=max(a,b)原创 2015-07-06 16:43:41 · 632 阅读 · 0 评论 -
E. President and Roads (CF Round #Pi (Div. 2)) 优先队列的Dij+Tarjan找桥
题意:n个点m条有向边,总统从起点s到终点t走最短路,问哪些边是一定会走的(输出YES),哪些边通过减少距离可以使它一定被经过(输出减少的距离),否则输出NO。思路:正反两遍求最短路,然后根据dist把那些最短路上的边重新建图,注意是无向图,然后用Tarjan求割边,最后每条边判断输出。居然卡SPFA,改成Dij就过了,以后就用Dij吧,恩。。原创 2015-08-11 10:20:45 · 800 阅读 · 0 评论 -
The King’s Problem (hdu 3861 强连通缩点+最小路径覆盖)
题意:n个城市m条有向边,把这些城市分成若干个州,分的原则是(1)u和v可以互相到达的话他们两个必须在同一个州(2)同一个州里任意两个城市u和v要满足u可以到达v或者v可以到达u。问州的最小个数是多少。思路:先用Tarjan算法进行缩点,在缩点后的图上进行二分图匹配,最后求得最小路径覆盖=强连通个数-最大匹配数。可以看一下:http://blog.csdn.net/hellobabygogo3/article/details/7900812http://www.cnblogs.com/ka20081原创 2015-08-02 11:02:54 · 992 阅读 · 0 评论 -
Hawk-and-Chicken (hdu 3639 强连通缩点+反向建图DFS)
题意:n个人投票,告诉投票关系问哪些人的票数最多,票可以传递,比如A投给B,B得一票,B又投给C,那么C得两票。思路:先强连通缩点,在同一个连通分量里的传递出去的票数为连通分量内点的个数-1(自己不算),缩点后重新建图,这个时候需要反向建图,这样入度为零的点票数才可能最大,可以dfs解决,求最大值。原创 2015-08-05 14:53:36 · 1096 阅读 · 0 评论