图的连通度

•图的连通度

  • 点连通度的定义:

一个具有$N$个点的图$G$中,在去掉任意$k-1$个顶点后$(1<=k<=N)$,所得的子图仍然连通,

去掉$K$个顶点后不连通,则称$G$是$K$连通图,$K$称作图$G$的连通度,记作$K(G)$。

  • 边连通度的定义:

一个具有$N$条边的图$G$中,在去掉任意$k-1$条边后$(1<=k<=N)$,所得的子图仍然连通,

去掉$K$条边后不连通,则称$G$是$K$连通图,$K$称作图$G$的连通度,记作$K(G)$。

•连通度与最小割

既然图的点连通度是去掉任意$k-1$个点连通,去掉$k$个点不连通,那么就是去掉最小的$k$个而致不连通,

也就是这$k$个点是此图的最小割点集。边连通度同理为最小割。

•连通度计算

  • 指定源点和汇点

指定源点和汇点也就是指定求某一个具体点s到另一个具体点t的连通度

1、边连通度(最小割)

  •有向图:

以s为源点,t为汇点建立网络,原图中的每条边在网络中仍存在,容量为1。求该网络的最小割(也就是最大流)的值即为原图的边连通度。

•无向图:

将图中的每条边(i, j)拆成<i, j>和<j, i>两条边,再按照有向图的方法处理;

2、点连通度(最小割点集)

•有向图:

需要拆点。建立一个网络,原图中的每个点$i$在网络中拆成$i'$与$i''$表示入点和出点,有一条边$<i', i''>$,容量为1
($<s', s''>$和$<t', t''>$例外,容量为正无穷表示不能割去)。原图中的每条边$<i, j>$在网络中为边$<i'', j'>$,
容量为正无穷。以$s'$为源点、$t''$为汇点求最大流,最大流的值即为原图的点连通度。

•无向图:

将图中的每条边$(i, j)$拆成$<i, j>$和$<j, i>$两条边,再按照有向图的方法处理。

  • 不指定源点和汇点

固定一个点为源点,枚举其他点为汇点,此时即为指定源点和汇点,取最小的最小割(或最小割集)

 

  • 带权连通度

在上述建图时,容量为1改成权值即可

 •例题

  • Ural 1277 Cops and Thieves

【题目大意】

一个犯罪团伙打算去偷一家美术馆。警察决定派 K 个人堵住所有从匪窝通向美术 馆的道路不过他们只能驻守在沿途顶点处而不能在匪窝或美术馆,且每个点都有一个需要警察驻守的最低人数 Ri。问警察能否完成任务。(2 < N <= 100, 1 < M <= 10000)

【思路】

指定源点汇点的无向图的带权点连通

【代码】

Ural 1277 Cops and Thieves

 

posted @ 2019-10-17 09:36  MMMinoz  阅读(4234)  评论(0编辑  收藏  举报