
欧拉回路
文章平均质量分 64
Aerolite坠落
这个作者很懒,什么都没留下…
展开
-
POJ 2513 Colored Sticks(字典树+并查集连通性+欧拉回路)
题目地址:POJ 2513 刚开始没想到字典树,用的map函数一直TLE,由于上一次的签到题由于没想到字典树而卡了好长时间的深刻教训,于是过了不久就想起来用字典树了,(为什么是在TLE了5次之后。。T^T)是在然后把map改成了字典树,然后就过了。 这题居然不知不觉的用上了欧拉回路。。其实当时我是这样想的。。因为相互接触的必须要相同,所以除了两端外,其他的都是两两相同的,所以除了两端的颜色外其原创 2014-07-28 21:04:13 · 1112 阅读 · 0 评论 -
POJ 2337 Catenyms (欧拉回路+并查集)
题目地址:POJ 2337 这题跟POJ 1386差不多,只不过这题多一个输出路径而已。 按字母来建边,每个单词的首字母和尾字母加边。先判断是否连通,然后判断每个字母的入度和出度不能出现差的绝对值大于2,然后入度和出度差的绝对值为1的不能超过两个。就可以形成欧拉路径 代码如下: #include #include #include #include #include #inc原创 2015-02-12 15:50:41 · 845 阅读 · 0 评论 -
POJ 2230 Watchcow (欧拉回路)
题目地址:POJ 2230 最普通的欧拉回路。边不重复记录点。不多说。 代码如下: #include #include #include #include #include #include #include #include #include using namespace std; #define LL long long #define pi acos(-1.0) c原创 2015-02-11 20:13:04 · 806 阅读 · 0 评论 -
POJ 1041 John's trip (欧拉回路)
题目地址:POJ 1041 题目要求是字典序,所以要先对边号进行排序,使得每次总是先遍历到边号较小的点。用vector比较方便。 代码如下: #include #include #include #include #include #include #include #include #include using namespace std; #define LL long原创 2015-02-11 16:55:31 · 1042 阅读 · 0 评论 -
POJ 1780 Code (欧拉回路+非递归版dfs)
题目地址:POJ 1780 还是求序列的欧拉回路。只不过这题有两坑。 第一坑是用数字来当点的话,会MLE,因为每个数字可以连10条边,100w条边会MLE,即使用vector也会TLE。这题可以用边来记录,对于n为1时直接输出,然后后面的,比如12,23这两个点就用边权值为123来表示这两个点,这样就把点和边的范围都缩小了10倍。 第二坑是用递归的dfs会爆栈原创 2015-02-16 19:32:01 · 1449 阅读 · 0 评论 -
HDU 2894 DeBruijin (欧拉回路)
题目地址:HDU2894 跟POJ 1392基本一样的。。 代码如下:#include <iostream> #include <string.h> #include <math.h> #include <queue> #include <algorithm> #include <stdlib.h> #include <map> #include <set> #include <stdio.h>原创 2015-02-16 15:36:07 · 1091 阅读 · 0 评论 -
HDU 1116 && POJ 1386 Play on Words(欧拉路径)
按字母来建边,每个单词的首字母和尾字母加边。先判断是否连通,然后判断每个字母的入度和出度不能出现差的绝对值大于2,然后入度和出度差的绝对值为1的不能超过两个。就可以形成欧拉路径 代码如下: #include #include #include #include #include #include #include #include #include using namespa原创 2015-02-05 17:08:51 · 817 阅读 · 0 评论 -
HDU 1878 欧拉回路 (并查集+欧拉回路)
题目地址:HDU 1878 这个题要注意欧拉回路与欧拉通路的区别。在都保证连通性的前提下,欧拉回路要求每个点的度数都是偶数,而欧拉通路允许两个点的度数是奇数。所以这题用并查集判断连通性后判断下度数就可以了。 代码如下: #include #include #include #include #include #include #include #include #includ原创 2015-02-05 14:52:41 · 772 阅读 · 0 评论 -
HDU 3018 Ant Trip (欧拉路径)
题目地址:HDU 3018 求每个点的度数,对于每个连通分支统计度数为奇数的个数,然后需要的次数就是个数/2。注意对于孤立的点不能算。 代码如下: #include #include #include #include #include #include #include #include #include using namespace std; #define LL l原创 2015-02-05 16:29:45 · 1079 阅读 · 0 评论 -
Codeforces Round #288 (Div. 2) D.Tanya and Password(欧拉路径)
题目地址:http://codeforces.com/contest/508/problem/D 第一次做输出欧拉路径的题。用dfs搜。 先对每个单词拆成前两个一组,后两个一组,然后对这两组加边并标号。比如“abc”,拆成“ab”和“bc”,然后对ab和bc所属的编号加边。然后深搜,并记录路径。需要注意的是,用前向星的话,需要再深搜的时候让前面走过的边后边不用再走,而且也要回溯的时候后边走过的原创 2015-01-29 10:26:14 · 1080 阅读 · 0 评论 -
POJ 1392 Ouroboros Snake (欧拉回路)
题目地址:poj1392 欧拉回路水题。 代码如下:#include <iostream> #include <string.h> #include <math.h> #include <queue> #include <algorithm> #include <stdlib.h> #include <map> #include <set> #include <stdio.h> using na原创 2015-02-16 15:32:16 · 1284 阅读 · 0 评论