欧拉回路
文章平均质量分 80
MistKafka
这个作者很懒,什么都没留下…
展开
-
uva10129 Play On words (有向欧拉道路存在性)
题意:判断能不能把所有单词首尾相连。 能单词相连的部分字母必须相同思路:其实就是判断欧拉道路的存在性。 每个单词只取首位, 不用保存。 刚看题目以为是拓扑排序。 有点混乱了。 方法一:用并查集判断图的连通性(判断连通性需要把有向图当做无向图来看!) 方法二:用DFS来判断图的连通性。 以上两种方法都要判断度数的合法性: 即 所有vertex 的 in-deg == o原创 2013-07-16 18:54:42 · 3158 阅读 · 0 评论 -
uva10054 The Necklace (欧拉回路路径输出 (并查集 + DFS) || (DFS + stack))
题意: 用50种珠子, 每种珠子两头颜色不同, 当两个珠子的有一头颜色相同时, 这一头可以连起来。 给点一些珠子, 看能否连成项链。思路:其实就是欧拉回路(项链)。 用并查集判断图的连通性 + 判断度数合法性, 图就存在。 然后用DFS输出路径。算法复杂度:代码:#include #include using namespace std;#define MA原创 2013-07-16 19:09:18 · 1280 阅读 · 0 评论 -
欧拉回路总结
欧拉回路让我甚是苦恼, 估计是这两天玩游戏浮躁了自己, 在理解算法的时候就没认真。 没有完全理解就上战场了, 结果各种RE+WA。下面是我对欧拉回路的理解。1.基本概念: 欧拉道路 与 欧拉回路(区别在于一个‘回’字, 不再诉述, 自己搜索)2.判断方法: 图是否连通(用并查集实现)+ 点的度数是否满足条件(全为偶数, 或只有两个奇数)3.输出路径: 用一个DFS压栈, 然后从栈中原创 2013-07-13 19:57:15 · 1024 阅读 · 0 评论