欧拉路总结
被迫营业。
其实这篇东西并没有多大意义,只是写了一些提高组以下能用到的东西,因为这个是营业要求……
等我有时间了会去研究一下2018的国家集训队论文《欧拉图相关的生成与计数问题探究》再来补充。
一些定义
-
欧拉路径:经过图 \(\mathcal{G}\) 中所有边恰好一次的路径。(可以当做一笔画)。
-
欧拉回路:一条路径是回路且是欧拉路径。(起终点相同)
-
欧拉图:存在欧拉回路的图。
-
半欧拉图:存在 欧拉路径 但是 不存在 欧拉回路 的图。
判定
以下图默认联通
- 无向欧拉图:一张无向图是欧拉图 当且仅当 这张图中不存在度数为奇数的点。
简要证明:一条回路是由若干个环并起来的,那么点度显然是偶数。
- 无向半欧拉图:一张无向图是半欧拉图 当且仅当 这张图中度数为奇数的点为 0 个或 2 个。
证明可以简单归纳,不断加边。
- 有向欧拉图:一张有向图是欧拉图 当且仅当 这张图中所有点处于一个强联通分量内,并且每个点入度等于出度。
证明同无向欧拉图
-
有向半欧拉图:一张有向图是半欧拉图 当且仅当
-
所有有向边退化成无向边时,全图联通。
-
所有点入度等于出度;或者存在恰好两个点,一个 入度减出度为 1,一个 出度减入度为 1,其余点入度等于出度。
-
例题
模板题,要求对于有向图或者无向图求欧拉回路。求欧拉路时,首先判掉不存在欧拉路的情况,然后就可以直接 dfs 了,因为每一条出边必然对应着一个合法的路径,直接走即可。AC link
无向图字典序最小欧拉路。按照出边字典序排序后 dfs 即可。
- XJ 校内训练题【外校人员可能无权限】
行向列连边,发现存在欧拉回路即为
Possible
。
参考资料
路漫漫其修远兮,吾将上下而求索