POJ 1966 Cable TV Network
?
题意:有线电视网络中,中继器的连接是双向的。如果网络中任何两个中继器之间至少有一条路,则中继器网络称为是连通的,否则中继器网络是不连通的。一个空的网络、以及只有一个中继器的网络被认为是连通的。具有n 个中继器的网络的安全系数f 被定义成: (1) f 为n,如果不管删除多少个中继器,剩下的网络仍然是连通的; (2) f 为删除最少的顶点数,使得剩下的网络不连通。
现在给定一个有线电视网络,求 f 为多少。
?
思路:一张连通图,求最少删去多少个点,能够使得该图不再连通,这是无向图的顶点连通度问题。
无向图的点连通度: 1. 将每个点u拆为u', u''.顶点u'到u''连一条弧,容量为1。 2. 将图中的每条边(u, v)拆成
两条边,每条边的容量为INF。
3. 选一个源点A'', 枚举汇点B'. 求出最大流的最小值即为点连通度。
4. 所有具有流量1的弧(v', v'')对应的顶点v构成了一个割点集。
?
代码:
?
/*
ID: wuqi9395@126.com
PROG:
LANG: C++
*/
#include
?
|