前言
怎么说,真的就是🕊王
定义
欧拉道路
什么叫做欧拉道路,其实就是一笔画完整个图的所有边,并且不可以重复走同一条边。
欧拉回路
就是起点和终点相同的欧拉道路,注意欧拉回路也属于欧拉道路
欧拉图
有欧拉回路的图我们叫做欧拉图。
半欧拉图
有欧拉道路的图,我们叫做半欧拉图。
判断
判断欧拉道路,也就是半欧拉图
对于有向图,充分必要条件是,整个图联通,并有且只有两个度为奇数的点,一个入度比出度大一,另外一个相反。
这两个也就是欧拉道路的起点和终点。
对于无向图,充分必要条件是 ,整个图联通,并有且只有两个度为奇数的点
注意欧拉图也是半欧拉图
判断欧拉回路,也就是欧拉图
对于无向图,充分必要条件是,这个图是连通的,并且没有度为奇数的点
对于有向图,充分必要条件是,整个图是强连通,入度都等于出度
杂题
P7771
板子题目,就是让你找出一个图中的欧拉道路,要求这个欧拉道路的字典序最小。
其实就是加上一步对于每一个点出点的大小排序,之后dfs找就好了,这里面有几个细节
1.复杂度优化,对于每一个点我记录一下走到那个边了,这样会节约时间。
2.这个图保证联通,但是有些不保证,还是要注意。
3.欧拉回路也是欧拉道路
P1341 无序字母对
也是典中典了,首先我们每一次输入两个字母,这两个字母之间连条无向边,之后看看这个图里面有没有欧拉回路,或者欧拉道路就好了。
这道题教会了我几个点
1.字符型的数据放到数组的下表使用askll码存的,不用map
2.问题的转化比较巧妙。