![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
字典树
文章平均质量分 74
Avalon_cc
~~
展开
-
UVA11732 (Trie)
题意:给n个字符串,让他们两两比较,求比较的次数。如strcmp("than","that"),strcmp("there","the")各需要7次比较。思路:简单的模拟肯定不行,所以建立字典树。val数组代表经过该节点的单词书。添加一个isEnd数组来处理两个单词相同时的情况。#include <iostream> #include <cstring> #include原创 2018-03-12 19:39:58 · 158 阅读 · 0 评论 -
hdu 1251
题目:Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀). Input输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过10,它们代表的是老师交给Ignatius统计的单词,一个空行代表单词表的结束.第二部分是一连串的提问,每行一个提问,每个提问都是一个字符串. 注意:...原创 2018-03-12 21:51:21 · 146 阅读 · 0 评论 -
hdu 1247 (Trie)
题意:给一些单词,问哪些单词能有另外两个单词组成思路:先去找一个单词的前缀,去除前缀后再去找单词的后缀#include <iostream> #include <cstring> #include <cstdio> #include <algorithm> using namespace std; struct node { int co...原创 2018-03-12 23:12:35 · 149 阅读 · 0 评论 -
HDU4099(Trie)
题意:输入一个数,这个数是斐波那契数列的前缀,求满足这个前缀的最小的下标。给出的数不超过40位,若满足这个前缀的最小下标超过100000则输出-1。思路:将斐波那契的前缀放到字典树中,由于两数相加有可能会进位,我们把斐波那契的前60位放到字典树中,这样就不会因为进位而产生误差。#include <iostream> #include <cstring> #include &...原创 2018-03-13 17:37:18 · 223 阅读 · 0 评论