欧拉回路
Dilly__dally
这个作者很懒,什么都没留下…
展开
-
欧拉回路
什么是欧拉路径?在图上用一种走法经过所有的边一次且只有一次的路径叫做欧拉路径。即一笔画。如果这条路径的起点和终点重合,那么就是欧拉回路。如何判断图是否有欧拉回路或者欧拉路径?无向图:因为欧拉路径中,除了起点与终点以外,任意点的“进”“出”次数相等,所以除了两个点为奇点(度数为奇数的点)(终点和起点)以外,其它点的度数均为偶数。如果是欧拉回路,奇点的个数应该为0。有向图:欧拉路径中,最多只有两个点的...原创 2018-04-30 10:01:21 · 173 阅读 · 0 评论 -
UVA 10129
这一题是典型的欧拉道路题目。 欧拉道路的定义是: 除了起点和终点外, 其他点的“进出” 次数应该相等。 换句话说,除了起点和终点外, 其他点的度数应该是偶数。对于有向图, 则必须其中一个点的出度恰好比入度大1, 另一个的入度比出度大。如果奇点数不存在的话, 则可以从任意点出发,最终一定会回到该点(成为欧拉回路)。 题目给的单词量比较大,但是有用的只有首和尾的字母,所以只需要存首尾...原创 2018-04-30 11:33:56 · 234 阅读 · 0 评论 -
HDU 5883(欧拉路+异或)
题意:n个点 m条无向边的图,找一个欧拉通路/回路使得这个路径所有结点的异或值最大。思路:首先了解欧拉路欧拉路 。先判断是否有欧拉路径或欧拉回路(入度为奇数的点是2或0),然后画画图可以看出每个点当(度数+1)/2是奇数,则有贡献,否则贡献为0(自己异或自己等于0),最后如果奇点个数为2,还要枚举每个点去异或刚才得到的答案,找到最大值。#include<bits/stdc++...原创 2018-08-14 22:04:29 · 134 阅读 · 0 评论