
字符串—字典树
文章平均质量分 51
My_ACM_Dream
生活没有彩排每天都是现场直播
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
hdu 4287 Intelligent IME (字典树)
题意: 给出n个手机上9宫格输入的数字,之后在输入了字典的单词。现在问,这些数字分别能在字典中找到多少种单词。 题解: 一开始直接暴力搜索,存储的字典树是按字母来的,可想而知复杂度O(n*m!)果断TL 然后换成用数字存,每次找对应字母是否有数字能对应他,字典树这边有个小技巧,就是键值用来存对应单词的标号,也就是对应数字是第几个输入的。然后愉快的ac。 #include #include原创 2015-02-06 14:15:23 · 993 阅读 · 0 评论 -
字典树模板
struct Trie { struct TrieNode { int f;//改变的值,根据不同情况 TrieNode* child[26]; TrieNode() { f=0; for(int i=0;i<26;i++) child[i原创 2015-02-06 01:14:38 · 444 阅读 · 0 评论 -
hdu 1075 What Are You Talking About (字典树)
题意: 翻译火星文。 题解: 不好写,因为有标点符号!! #include #include #include #include #include #include #include using namespace std; typedef long long lld; const int oo=0x3f3f3f3f; const lld OO=1e18; const int Mod=10原创 2015-02-06 15:52:22 · 508 阅读 · 0 评论 -
hdu 1305 Immediate Decodability (字典树)
判断给出的二进制编码是否是哈弗曼编码 #include #include #include #include #include #include #include using namespace std; typedef long long lld; const int oo=0x3f3f3f3f; const lld OO=1e18; const int Mod=1000000007; c原创 2015-02-06 12:26:37 · 483 阅读 · 0 评论 -
hdu 3460 Ancient Printer (字典树)
题意: 给出n个单词,现在模拟键盘输入,输入字母和删除以及发送都要算操作数。现在给出的n个单词不管顺序如何,将所有单词输出的最小操作数。 题解: 没想可以这样做,我们把这些单词存入字典树,然后把字典树画出来,很容易得出这个结论:假设字典树节点的个数为m,最长单词长度为maxl,那么最小操作数=2*m-maxl+n #include #include #include #include #i原创 2015-02-06 19:54:32 · 468 阅读 · 0 评论 -
FJUTOJ 校赛H 你明明自己也生病了,却还是要陪着我 (字典树)
题意: 题目给出两个操作,1是插入字符串,2是询问这个字符串是否是之前插入的字符串前后缀的组合或者这个字符串本身就是之前插入的字符串的前缀或后缀。 题解: 直接字典树搞,弄两个字典树,一个存前缀,一个存后缀,然后查询时去两个字典树中查找,如果两个搜到的两个位置相加>=len,那么是可行的。 #include #include #include #include #include #inc原创 2015-04-13 21:51:12 · 662 阅读 · 0 评论