http://acm.hdu.edu.cn/showproblem.php?pid=1251
Problem Description
Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀).
Input
输入数据的第一部分是一张单词表,每行...
分类:
其他好文 时间:
2015-04-23 21:45:57
阅读次数:
148
hdu1251 交c++可以过,g++就MLE#include#include#include#includeusing namespace std;struct Trie{ Trie *next[26]; int v;};void creatTrie(Trie *root,char *...
分类:
其他好文 时间:
2015-04-23 01:52:28
阅读次数:
168
题目大意:
一个"hat's word"是一个单词,可以恰好由字典中其他两个单词连接得到(比如字典中是hat's和word)。
给出字典中的单词,输出所有的hat's word。
思路:
建立字典树,将每个单词都插入到Trie树中,Count统计单词(不是前缀)出现次数。按顺序将每个单词
所有可能的长度拆分成前缀单词和后缀单词,判断这两部分是否都在字典树中,是就是hat's word,
进行输出,否则继续拆分当前单词或下一单词。...
分类:
其他好文 时间:
2015-04-22 14:01:55
阅读次数:
124
题目大意:
有N个士兵。用不同的整数表示不同的级别。级别高的士兵可以教级别低的士兵,他们可以共用一把
扫帚。一个士兵最多只能有一个学生或一个老师。问:最少需要几把扫帚。
思路:
对于士兵都不相同的士兵,只需要一把扫帚。那么问题转变为找出给出数理重复次数最多的个数。建
立字典树,将每个数当作字符串插入字典树中,记录每个数出现的次数,最后找出重复出现次数的最
大值即为所求。注意:04和4都表示4,插入的时候,应该清除掉前导零。...
分类:
其他好文 时间:
2015-04-22 11:39:40
阅读次数:
113
简单的字典树题,首先简历字典树,在查找。
#include
using namespace std;
struct Tri
{
int v;
Tri* child[26];
} root;
void Init()
{
root.v=0;
for(int i=0;i<26;i++)
{
root.child[i]=NULL;
}
}
void CreateDic(ch...
分类:
其他好文 时间:
2015-04-21 09:46:41
阅读次数:
122
uva 11008 Antimatter Ray ClearcuttingIt’s year 2465, and you are the Chief Engineer for Glorified Lumberjacks Inc. on planet Trie. There is a number of trees that you need to cut down, and the only wea...
分类:
其他好文 时间:
2015-04-21 09:45:12
阅读次数:
194
统计难题
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others)
Total Submission(s): 20855 Accepted Submission(s): 9031
题目链接:http://acm.hdu.edu.cn/showproblem.php...
分类:
其他好文 时间:
2015-04-21 09:41:46
阅读次数:
137
分析:字典树解决,注意节点里面只需要保存该点是否构成一个单词,和匹配类型的题有所区别;另外要注意重读打印。字典树效率高。
#include
using namespace std;
struct Tri
{
bool v;
Tri* child[26];
};
Tri* root;
void Init()
{
root->v=false;
for(int i=0;i<26;...
分类:
其他好文 时间:
2015-04-21 00:27:07
阅读次数:
148
思路:完全看题目中的介绍就行了。还有里面的input写道:不保证是英文单词,也有可能是火星文单词哦。比赛结束后的提交是不用考虑26个字母之外的,都会AC,如果考虑128种可能的话,爆了内存。步骤就是,在插单词的同时记录该结点之后的单词数,查词就查最后一个字母所在结点上的单词数。 1 #include...
分类:
其他好文 时间:
2015-04-21 00:14:44
阅读次数:
244
题目描述 Trie树概念相对简单。 如果是用于保存英文词典,时空效率都是不错的。 如果保存中文词典,对子节点的索引可能需要用一个哈希表来存。 在建树的过程中可以顺便统计特定前缀的单词数。 如果要求重复单词不重复统计,可以在插入前先查询一次。 本题的具体代码如下:#include #include #...
分类:
其他好文 时间:
2015-04-20 20:34:46
阅读次数:
137