
数据结构 字典树
文章平均质量分 79
yuhong_liu
这个作者很懒,什么都没留下…
展开
-
HDU 1251 统计难题-字典树-统计前缀个数
Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀). 字典树基本功能.... map居然暴力过了。 #include #include #include #include #include #include #include #inc原创 2015-08-27 00:26:25 · 515 阅读 · 0 评论 -
UVA 11732-"strcmp()" Anyone?-trie(左儿子右兄弟表示法(省空间))
本题数据略大,显然不能用普通的儿子节点法建立trie,因此采用左儿子右兄弟表示法建树,其实就是二叉树表示法,本质就是把原来的26叉树转成2叉树,时间复杂度常数增大,空间复杂度尽可能减小 我们知道26叉树中,如果数据不那么变态,应该是大部分节点都是浪费掉的,而使用二叉树建树,能充分利用空间,缺点就是 原来访问某个节点的子节点 如果查询子节点中有没‘a’字符,我们只需要访问ch[u][0]即可,O(原创 2015-09-11 10:06:58 · 795 阅读 · 0 评论 -
HDU 1251-统计难题-基本字典树
给n个单词建立一个表 给n个串 查询以该串为前缀的单词个数 包括本身 就是单纯地遍历一次字典树 #include #include #include #include #include #include #include #include #include using namespace std; #define inf 2147483647 const i原创 2015-09-15 22:47:02 · 428 阅读 · 0 评论 -
LA 3942 Remember the Word(字典树/树上dp)
题目,给出3w长度的字符串,一部字典 4000个长度不超过100的单词 把该字符串可以分解成x个字典的单词为一种合法方案 求出该该字符串的所有分解方案数,对20071027取模 思路:dp[i]表示 从第i个字符开始到结尾的一个子串 dp递推;dp[i]=sum(dp[ i+len(x) ]) x为 子串S【i,结尾】的前缀 显然把单词做成字典树,每次对查询前原创 2015-09-09 14:07:00 · 440 阅读 · 0 评论 -
poj-2513-Colored Sticks-字典树trie / hash +并查集 欧拉回路
..........一看到题。。试着用hash水一下。。wa 用map水一下TLE。。 好吧。。trie试一下。。。wa .wa .wa..... 好吧。。最后发现是自己傻逼了。。。 窝一开始犯了傻逼错误,以为 直接 计算颜色出现的种数。。。奇数个数的颜色为0或2 就 合法。。然而这只是必要条件.....不是充分条件...........原创 2016-01-17 22:20:58 · 471 阅读 · 0 评论 -
CSU-1216: 异或最大值-trie-01字典树
Description 给定一些数,求这些数中两个数的异或值最大的那个值 Input 第一行为数字个数n,1 Output 任意两数最大异或值 这个问题可以用01-字典树很好地解决 即把所有数先按二进制从高到低位看成字符串插入trie。 枚举每个数,作为X,然后去trie里尽可能找每一位与X的二进制位相反的数,不断更新答案 复杂度原创 2016-08-10 02:40:25 · 2959 阅读 · 0 评论 -
Codeforces Round #367 (Div. 2)-Vasiliy's Multiset-最大异或和-trie
参考。。http://blog.youkuaiyun.com/viphong/article/details/52167649 注意要先插入0。。。特判一下0不能删除 #include #include #include #include #include #include #include #include #include using namespace std; #defi原创 2016-08-12 02:56:48 · 502 阅读 · 0 评论