数据结构--字典树Trie
focus_best
这个作者很懒,什么都没留下…
展开
-
字典树Trie
字典树Trie(转)http://www.cnblogs.com/tanky_woo/archive/2010/09/24/1833717.html字典树(讲解+模版)又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来节约存储空间,转载 2014-04-07 14:26:09 · 947 阅读 · 0 评论 -
POJ 1056 IMMEDIATEDECODABILITY(字典树Trie)
POJ 1056 IMMEDIATEDECODABILITY(字典树Trie)http://poj.org/problem?id=1056题意:给你一个由很多01字符串组成的集合,问你集合中有没有一个字符串是其他另外一个或多个字符串的前缀.分析: 直接建立字典树,并且在插入字符串的时候判断有没有该字符串的前缀或有没有包含该字符串的长字符串即可.AC代码:#inc原创 2014-04-08 12:09:57 · 1501 阅读 · 0 评论 -
HDU 4099 Revenge of Fibonacci(高精度加法+字典树Trie)
HDU 4099 Revenge of Fibonacci(字典树Trie)http://acm.hdu.edu.cn/showproblem.php?pid=4099题意:给你一个数,这个数是斐波那契数列中的一个数的前缀,要你找出满足这个前缀的最小下标.且这个下标如果查过了10W,还没有符合要求的数,就输出-1.且输入数不会查过40位,且没有前导0.分析: 首先我们用原创 2014-04-08 22:23:30 · 1885 阅读 · 0 评论 -
HDU 1247 Hat’s Words(字典树Trie)
HDU 1247 Hat’s Words(字典树Trie)http://acm.hdu.edu.cn/showproblem.php?pid=1247题意:给你多个单词组成的集合,要你找出这样的单词,该单词正好是集合中另外两个单词首尾相连构成的.分析:这道题目的解法竟然如此暴力…首先用所有单词建立字典树,然后遍历每个单词.将当前单词分成两段(需要循环当前单词的长度)看看这两段单词是原创 2014-04-07 22:16:51 · 1214 阅读 · 0 评论 -
POJ 2001 Shortest Prefixes(字典树Trie)
POJ 2001 Shortest Prefixes(字典树Trie)http://poj.org/problem?id=2001题意:给你多个单词组成的词典,现在要你输出每个单词对应的前缀,使得每个前缀唯一.如果不存在唯一前缀就直接输出单词本身.分析: 直接用所有单词建立字典树,并且字典树节点的v值表示以该节点为根的子树下有多少个单词. 然后对于每个单原创 2014-04-09 00:01:38 · 1815 阅读 · 0 评论 -
POJ 2503 Babelfish(字典树Trie)
POJ 2503 Babelfish(字典树Trie)http://poj.org/problem?id=2503题意:给你一个单词对应表,然后再给你一系列单词,要你输出对应的信息.分析:本题直接用map映射查找很可能会超时,所以用字典树Trie来处理.字典树节点v=0表示非单词节点,如果v=1表示单词节点,并且字典树节点还有一个string属性,用来保存对应的单词即可.AC代码:原创 2014-04-09 00:27:47 · 2475 阅读 · 0 评论 -
HDU 1671 Phone List(字典树Trie)
HDU 1671 Phone List(字典树Trie)http://acm.hdu.edu.cn/showproblem.php?pid=1671题意:给你多个由0-9构成的字符串集合,问你这个集合中是否有一个字符串是其他字符串的前缀?分析:直接构造字典树,然后一一插入每个字符串,判断是否有比当前字符串短或长的同一路径的字符串已经在树中了. 注意:字典树中如果该节点是原创 2014-04-07 21:34:54 · 1217 阅读 · 0 评论 -
UVA 1401 Remember the Word(DP+字典树Trie)
UVA 1401 Remember the Word(DP+字典树Trie)题意:给你一个由N个单词组成的词典,和一个字符串S,问你S由N中的单词组成的方法有多少种?字典中的单词可以重复使用.分析: 我们令d[i]=x表示S串的后缀[i,L-1]串有多少种构成方式.其中L=strlen(S). 那么d[i]=sum( d[i+len(x)] ) 其中原创 2014-04-07 16:05:07 · 1499 阅读 · 0 评论 -
HDU 1251 统计难题(字典树Trie)
HDU 1251 统计难题(字典树Trie)http://acm.hdu.edu.cn/showproblem.php?pid=1251题意:给你多个单词,然后在给你一个字符串s,现在要问你以该字符串s为前缀的单词数目有多少个?分析:标准的字典树应用,我们只需要用树节点的v值表示以树根root到当前节点的路为前缀的单词数即可. 在插入新单词节点的时候,该单词节点路过的所原创 2014-04-07 14:20:27 · 1523 阅读 · 3 评论 -
字典树Trie
字典树Trie 字典树又叫单词查找树(Trie)或前缀树(可见刘汝佳《算法竞赛入门经典训练指南》P208)。顾名思义它是与单词的前缀相关的。给你一个单词和一个字典构成的字典树,你可以在O(m)(m为所给单词的长度)时间内判断出该单词是否属于字典。但是如果你用KMP或其他暴力方法,你至少需要把字典中所有单词都遍历一遍。下图是一个具有单词abc,abcd,b,bcd,efg,hi原创 2015-03-27 11:01:35 · 2482 阅读 · 2 评论