POJ2513 欧拉 + 字典树】的更多相关文章

POJ 2513 有N根木棒,一根木棒有2头,我们把每头涂色(相同或不同),如果2根木棒有相同颜色的一端就可以连接,颜色全部不同就不能连接,现在给你N根木棒以及它们的颜色,问最后能不能链接成1条链. 欧拉回路的问题,判断联通  以及  奇点个个数 输入为字符串,开始并不知道怎么弄,参考了下别人的报告,用字典树处理(学到的新东西), #include<iostream> #include<cstring> #include<cstdio> #include<cmat…
ETT可以称为欧拉游览树,它是一种和欧拉序有关的动态树(LCT是解决动态树问题的一种方案,这是另一种) dfs序和欧拉序是把树问题转化到区间问题上然后再用数据结构去维护的利器 通过借助这两种形式能够完成子树的查询和修改,这是LCT所不能胜任的工作 所谓的ETT就是通过动态维护欧拉序来实现动态树 它能完成换父亲(Cut和Link操作) 修改子树(LCT实现不了) 查询结点到根的信息 当然它对比于LCT还是有局限性的 这些操作通过DFS序+Splay也可以完成 只不过我们通俗地把欧拉序+Splay称…
http://poj.org/problem?id=2513 Description You are given a bunch of wooden sticks. Each endpoint of each stick is colored with some color. Is it possible to align the sticks in a straight line such that the colors of the endpoints that touch are of t…
题目链接:http://poj.org/problem?id=2513 题解:通过这题了解了字典树.用字典树存储颜色,并给颜色编上序号.这题为典型的欧拉回路问题:将每种颜色当成一个点.首先通过并查集判断是否为连通图,再检验是否符合欧拉回路的特点.不过题目有一点很奇怪,在并查集中,若图为连通,不是有且仅有一个点的fa[]等于它自己吗,即类似于根节点?为什么会出现有0个的情况,这一点搞不懂. 判断欧拉路是否存在的方法: 有向图:图连通,有一个顶点出度大入度1,有一个顶点入度大出度1,其余都是出度=入…
HYSBZ - 3813奇数国 中文题,巨苟题,巨无敌苟!!首先是关于不相冲数,也就是互质数的处理,欧拉函数是可以求出互质数,但是这里的product非常大,最小都2100000,这是不可能实现的.所以我们要求互质数的话,得用到所有金额都用60个素数表示的这个条件.也就是x=p1a1xp2a2x...p60a60表示,pi是第i个素数,ai是对应的指数,这就变成了互质素求欧拉函数,可以先了解一下欧拉函数,引用一下境外大佬的博客欧拉函数的讲解.我们需要用到这一条 p为质数 1. phi(p)=p-…
经典好题,自己不知道哪里错了交上去是RE,可能是数组开的不好吧,字典树老碰到这种问题.. 先马上别人的代码,有空对拍看看 #include <cstdio> #include <cstring> ; int fa[MAX], d[MAX], cnt; struct Trie { ]; int jud[MAX]; Trie() { sz = ; memset(t[], -, sizeof(t)); jud[] = ; } void clear() { sz = ; memset(t[…
一个叫 Euler-Tour-Tree 的数据结构,说白了就是用 Splay_Tree 维护欧拉序 #include <cstring> #include <algorithm> #include <string> #include <cstdio> using namespace std; void setIO(string a){ freopen((a+".in").c_str(),"r",stdin); freo…
题意:给你n个火柴棍,每个火柴棍头和尾两种颜色,问你是否存在能够把这些火柴棍摆成一行的情况,两个相连的火柴棍的颜色需要一样: 解题思路:最初的思路是用map标记颜色,然后把每种颜色看作点,每根火柴棍看作边,求欧拉路径,然后超时了...看了别人的写法,想起来了自己还学过字典树来着...然后用字典树找就行了,快很多 代码: #include<iostream> #include<algorithm> #include<cstdio> #include<cstring&…
http://poj.org/problem?id=2513 题意: 给定一些木棒,木棒两端都涂上颜色,求是否能将木棒首尾相接,连成一条直线,要求不同木棒相接的一边必须是相同颜色的. 思路: 题目很明显的是欧拉道路的问题. 欧拉道路的关键是: ①图是连通的. ②最多只能有两个奇点.(不能只存在一个奇点) 本来是想用map映射的,但是太多了,比较费时,这里用字典树的话会比较省时,判断图是否连通可以用并查集来完成. #include<iostream> #include<algorithm&…
https://vjudge.net/problem/POJ-2513 题解转载自:優YoU  http://user.qzone.qq.com/289065406/blog/1304742541 题意 给定一些木棒,木棒两端都涂上颜色,求是否能将木棒首尾相接,连成一条直线,要求不同木棒相接的一边必须是相同颜色的. 分析 可以用图论中欧拉路的知识来解这道题,首先可以把木棒两端看成节点,把木棒看成边,这样相同的颜色就是同一个节点 问题便转化为: 给定一个图,是否存在“一笔画”经过涂中每一点,以及经…