图论----欧拉回路
Z-Pilgrim
这个作者很懒,什么都没留下…
展开
-
欧拉回路 fzu Problem 2112 Tickets
http://acm.fzu.edu.cn/problem.php?pid=2112 Problem 2112 Tickets Accept: 229 Submit: 406 Time Limit: 3000 mSec Memory Limit : 32768 KB Problem Description You have won a collect原创 2014-04-14 17:28:08 · 1445 阅读 · 2 评论 -
poj 2513 欧拉回路+并查集判断是否联通+Trie树
http://poj.org/problem?id=2513 最初看到 第一感觉---map 一看250000的数据量 果断放弃 然后记得以前看过,trie代替map,尤其当数据量特别大的时候 学到了: 1、Trie代替map的思想,可以在单词结尾的tree[i][tk] 这个i作为字符串对应的int值 ,当然这个int值也可以用于建立并查集 2、接上,通过并查集判断,所有的点在同一原创 2014-07-07 03:01:22 · 1679 阅读 · 2 评论 -
poj 2337 欧拉回路按照最小字典序输出+注意为了按最小字典序怎么处理邻接表
http://poj.org/problem?id=2337 WA了好久,昨晚1点多睡不着写的,狂WA,当时是因为用邻接矩阵存储,比如aba,aa只能存下一个,这个之前还没遇到过,今天才注意到--邻接矩阵无法存储平行边, 关于欧拉回路判断看我另几篇日志或者看我的欧拉总结 再贴个输出欧拉回路的模板 其中,参数u是起点,注意如果是输出欧拉路径的话,u必须是出度比入度大一的那个点,如原创 2014-07-27 23:34:26 · 1603 阅读 · 0 评论 -
poj 1386 欧拉回路判定
奇怪的是,我的判定是不是联通的部分出问题了 先贴个对的: #include #include #include #include #include using namespace std; const int SIZE = 100000+10; const int SSIZE = 1000 +10; const int tb = 26; int idx(char x) {原创 2014-07-26 22:47:31 · 998 阅读 · 0 评论 -
poj 1780 欧拉回路构造字符串
和西安邀请赛D题类似的题目 这道题会爆栈,所以要非递归写,但是看了很久其实代码没理解,回头重写 #include #include #include using namespace std; const int SIZE = 100000+10; int a,s; int sta[SIZE*10],li[SIZE*10]; char ans[SIZE*10]; void s原创 2014-07-26 22:43:48 · 1240 阅读 · 0 评论 -
poj 1392 构造欧拉路遍历所有可能
http://poj.org/problem?id=1392 其实就是构造一个最小的数字序列,使得每n位都是一个数字,而且不重复 比如n=2 序列是00110 两个两个看就是00--0 01---1 11--3 10--2 先总结知识: 1、k进制下,这样的序列长度是k^n+n-1. 首先第一个数长度是n,后面k^n -1个数,每个数只需要增加一位就行了,所以是k^n+n-1.原创 2014-08-31 17:28:54 · 1333 阅读 · 0 评论 -
hdu 4850 字符串构造---欧拉回路构造序列 递归+非递归实现
http://acm.hdu.edu.cn/showproblem.php?pid=4850 题意:构造长度为n的字符序列,使得>=4的子串只出现一次 其实最长只能构造出来26^4+4-1= 456979 的序列,大于该数的都是不可能的。构造方法,就是那种欧拉回路的序列,此题DFS会爆栈,手动扩展栈也可以AC...... 递归形式的开始WA了,没有细调就换非递归了,后来又想了想,虽然自己电脑上运行不了,但是先把长度按小的来,然后调试代码,然后在扩大,AC了,当时错在MOD,递归的MOD应该是26^4,而不是原创 2014-08-31 22:03:37 · 1302 阅读 · 0 评论