字典树
流沙-岁月
这个作者很懒,什么都没留下…
展开
-
hdu 字典树
题意:给出一个火星文与英文的对应表,然后给出一篇火星文,要求把火星文翻译成英文。 分析:感觉用map很好写,不过网上都是用字典树的,可能用map会超时吧,而且为了练练字典树,也还是用字典树的方法写了。其实也很简单,就是把一个单词插入字典树时,在结尾的结点处记录对应的英文便可。 代码如下:#include #include #include #include原创 2015-08-16 16:24:27 · 423 阅读 · 0 评论 -
hdu 2846
题意:给出n个字符串,再给出m个询问,每个询问包含一个字符串,问该字符串是n个字符串中多少个字符串的子串。 分析:利用字典树能很好解决若干字符串中某个前缀出现次数的特性,将给出的n个字符串分解插入字典树中。另外,由于这里某个字符串可能有多个拥有相同前缀的子串,因此可以在字典树结点中加入一个信息num,用于表示该子串是第num个字符串的子串。 代码如下:#inclu原创 2015-08-17 17:09:36 · 453 阅读 · 0 评论 -
hdu 1298
还是比较好的一道题,初看觉得很复杂,其实答案还是比较简单的。题目大意是模拟手机输入法,早期手机数字按键只有十个,而英文字母有26个,那么如何打出想打的一个单词呢?于是有人预先准备一个单词库,将一些单词及其频率存入其中,那么随着你按键,会显示出对应的所有字母组合中单词库里频率最高的那个。例如: 有 aaa 3,abc 4,bca 5,那么按2221的过程中会显示的就是:原创 2015-08-20 16:55:01 · 478 阅读 · 0 评论 -
hdu 3460
很简单的一道字典树题目,只需要把字典树建立好后,遍历一遍得到结点个数x,然后答案就是2*x+n-最长单词的长度(先贪心想局部,再跳出来想全局,很容易就得到这个结论)。 代码如下:#include #include #include #include #include #include #include #include #include #include #i原创 2015-08-21 11:34:39 · 300 阅读 · 0 评论