欧拉回路混合图的欧拉回路
Posted ezoilzh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了欧拉回路混合图的欧拉回路相关的知识,希望对你有一定的参考价值。
欧拉回路
从一个点开始把图中的边恰好经过一次,再回到出发点,这样的路径就是欧拉回路。
如图就是一个欧拉回路
欧拉回路判定
不过怎么样的图中才存在欧拉回路呢?
欧拉回路分有向图和无向图两种:
- 有向图: 图中所有点的入度等于出度
- 无向图: 图中所有点的度数都为偶数
这还是很好理解的,不过你可能要问,怎么知道一个混合图中有没有欧拉回路呢?
混合图的欧拉回路
过程:
- 先将无向边随意定向
- 判断每个点的入度和出度是不是同奇偶,不同则无解
- 用一个超级原点向出度小于入度的点连一条容量为 ({|入度-出度| over 2}) 的边
用一个超级汇点向出度大于入度的点连一条容量为 ({|入度-出度| over 2}) 的边 - 将原图无向边的另一个方向边连到图中,容量为 1
- 跑最大流,判断与 S 相连的边是否满流,满流则有解
PS:其实也十分好理解,其实就是将原来无向边的方向进行调整,使得每个点的入度等于出度。每个点需要调整 ({|入度-出度| over 2}) 次,所以边的容量为 ({|入度-出度| over 2})。
当我们流过一条边的时候,两条边容量各减一,就相当于把边调整的过程。
以上是关于欧拉回路混合图的欧拉回路的主要内容,如果未能解决你的问题,请参考以下文章
bzoj 2095: [Poi2010]Bridges(二分法+混合图的欧拉回路)
bzoj2095: [Poi2010]Bridges(二分+混合图求欧拉回路)
POJ1637:Sightseeing tour(混合图的欧拉回路)