
字典树
ITCharge
高效率编程,慢节奏生活。
展开
-
HDU1251 统计难题【字典树】
题目大意: 给你一张单词表,每个单词占一行,以空行结束。再给你几个单词前缀。那么问题来了: 统计出单词表中以所给单词前缀为前缀的单词数目。 思路: 其实就是字典树的模板应用。根据所给单词表建立一个字典树,并记录所有前缀的个数。 然后根据所给单词前缀去字典树中查找是否含有这个前缀。找到就输出该前缀的个数。原创 2015-02-14 22:13:50 · 927 阅读 · 0 评论 -
HDU1247 Hat’s Words【字典树】
题目大意: 一个"hat's word"是一个单词,可以恰好由字典中其他两个单词连接得到(比如字典中是hat's和word)。 给出字典中的单词,输出所有的hat's word。 思路: 建立字典树,将每个单词都插入到Trie树中,Count统计单词(不是前缀)出现次数。按顺序将每个单词 所有可能的长度拆分成前缀单词和后缀单词,判断这两部分是否都在字典树中,是就是hat's word, 进行输出,否则继续拆分当前单词或下一单词。原创 2015-04-22 11:45:28 · 965 阅读 · 0 评论 -
HDU1800 Flying to the Mars【字典树】
题目大意: 有N个士兵。用不同的整数表示不同的级别。级别高的士兵可以教级别低的士兵,他们可以共用一把 扫帚。一个士兵最多只能有一个学生或一个老师。问:最少需要几把扫帚。 思路: 对于士兵都不相同的士兵,只需要一把扫帚。那么问题转变为找出给出数理重复次数最多的个数。建 立字典树,将每个数当作字符串插入字典树中,记录每个数出现的次数,最后找出重复出现次数的最 大值即为所求。注意:04和4都表示4,插入的时候,应该清除掉前导零。原创 2015-04-22 10:38:30 · 984 阅读 · 0 评论 -
POJ2503 Babelfish【map】
题目大意: 给你一本字典。字典上每一行为一个英语单词和一个其他国家单词。这样我们就可以通过字典把英语单词 翻译成其他国家单词,也可以将其他国家单词翻译为英语单词了。现在再给你几个外国单词,问:字典中 是否有这个单词的翻译。如果有,就输出翻译,否则,输出"eh"。 思路: 这道题其实可以用STL中的map或是字典树来做。map的做法是,建立两个map,一个对应存放翻译,一 个用来判断翻译是否存在。注意输入可以先将一行输入进来,判断是否为"\n"。再用sscanf将英语单词和 其他国家单词拆分为两个字符串s,原创 2015-04-26 16:24:07 · 1015 阅读 · 0 评论 -
POJ2001 Shortest Prefixes【字典树】
题目大意: 给一些字符串,求出每个字符串在这些字符串中能可以被唯一识别的最小前缀。 思路: 字典树的模板题,结构体中庸Count来存储字符前缀出现的次数,字典树中找到第一个 Count为1的前缀时,该前缀就是被唯一识别的最小前缀。原创 2015-04-15 09:40:26 · 897 阅读 · 2 评论 -
字典树【模板】
struct TrieNode { int Count; struct TrieNode* Next[26]; }Tree,*Trie; TrieNode *root; void Create() //初始化 { root = new TrieNode; memset(root->Next,NULL,sizeof(root->Next)); root-原创 2015-04-15 10:07:46 · 896 阅读 · 0 评论 -
HDU1671 Phone List【字典树】
题目大意: 给你N个字符串,判断这N个字符串中是否存在一个字符串是另一个字符串的前缀,如果存在就 输出"NO",否则输出"YES"。 思路: 建立一个字典树,将N个字符串存入字典树中,统计前缀出现次数。再查找这N个字符串,如果 出现字符串出现次数>1,则说明重复出现了两次,就输出"NO"。如果都每出现,则输出"YES"。 这道题如果每次都不删字典树,清除空间的话,会超内存。所以加上清空字典树的操作。原创 2015-04-26 11:48:47 · 843 阅读 · 0 评论 -
HDU1004 Let the Balloon Rise【字典树】
题目大意: ACM比赛要统计所有队伍最初哪道题的数量最多。给你N个代表气球颜色的字符串。输出出现 次数最多的气球颜色。题目保证每组数据结果是唯一的。 思路: 有两种方法来做。 1)可以用普通的二维字符串数组存放气球颜色,然后两重for循环求出每个气球的个数。用一个整 型数组存放每个气球的个数。最后求出个数最多的气球,输出字符串。 2)用字典树将所有的气球颜色字符串存起来,并统计字符串出现的次数。然后找到最多的气球字 符串,进行输出。原创 2015-04-21 20:14:11 · 818 阅读 · 0 评论