欧拉路学习笔记

全部内容来自SYK巨佬

定义

欧拉路:欧拉路是指从图中任意一个点开始到图中任意一个点结束的路径,并且图中每条边通过的且只通过一次。
欧拉回路:欧拉回路是指起点和终点相同的欧拉路。
欧拉图:有至少一个欧拉回路的图;
半欧拉图:没有欧拉回路,但有至少一条欧拉路径的图。
PS:勿与哈密尔顿路搞混淆,其为遍历图中每一个点的路径。

无向图存在欧拉路/回路的条件

欧拉路:除起点终点外,点度数都为偶数
欧拉回路:点度数都为偶数

性质

一个无向连通图中不可能存在奇数个奇度点。

有向图存在欧拉路/回路的条件

欧拉路:除起点终点外的所有点入度==出度,起点入度+1=出度,终点出度+1=入度
欧拉回路:所有顶点入度=出度

无向图的代码,有向图类似。
\(code\)

习题:

Watchcow S
板题,但注意每个边能经过两次,不需要打标记。

Riding the Fences
要求字典序最小,把边排序即可,优先经过编号小的边。

单词游戏
考虑图上建模,
很显然不能把每个单词看成一个点,那么就是哈密顿回路了,复杂度爆炸。
我们把首尾字母看成点,将每个单词的首尾字母连边,最后欧拉路。

Two PathsTrails and Glades
两道CF的好题,分情况讨论即可

原文地址:https://www.cnblogs.com/Xxhdjr/p/14445875.html