http://acm.hdu.edu.cn/showproblem.php?pid=1247 题意:给出一堆单词,求哪些单词是其中某两个单词拼接起来的。 题解:用字典树存储所有的单词,标记结束点,再次遍历单词的时候如果遍历过程遇到结束点则表明有单词是该单词的前缀,查找后半段字母(后缀)看看最后能不能 ...
分类:
其他好文 时间:
2019-11-17 17:46:48
阅读次数:
50
"hdu1247" Hat’s Words Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 20276 Accepted Submission( ...
分类:
其他好文 时间:
2019-05-01 18:29:46
阅读次数:
161
一个很经典的字典树题目 先建树 再拆单词进行判断是否都在树内 因为爆内存错了很久 如果一个四十万的数组 用mamset的话会直接爆几十万的内存 所以要:用多少 初始化多少才对!( 修改了两条初始化语句 见代码) 不过这题只有一组数据 所以不初始化关系不大 ...
分类:
其他好文 时间:
2019-02-01 14:54:13
阅读次数:
163
地址:http://acm.split.hdu.edu.cn/showproblem.php?pid=1247 题目: Hat’s Words Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
分类:
其他好文 时间:
2016-10-05 17:32:55
阅读次数:
136
Description Description A hat’s word is a word in the dictionary that is the concatenation of exactly two other words in the dictionary.You are to fin ...
分类:
其他好文 时间:
2016-05-07 18:05:15
阅读次数:
147
常规做法是枚举每个字符串每个位置,时间复杂度O(n*len*len),(建字典树O(n*len))。然而我看这题第一眼想的是时间复杂度O(n*len)的算法。。就是建正反两棵字典树,每个字符串跑分别跑正反一遍字典树,再看看正反跑的结果能不能拼成原串。然而常数太大了点,并没什么卵用。。 1 #incl...
分类:
其他好文 时间:
2016-01-26 21:36:10
阅读次数:
259
#include"cstdio"#include"cstring"using namespace std;const int MAXN=50005;const int N=26;struct node{ bool val; node* next[N];};node* root;node ...
分类:
其他好文 时间:
2016-01-11 00:02:39
阅读次数:
430
开始以为枚举会超时,因为有50000的词。后来试了一发就过了。哈哈。枚举没一个单词,将单词拆为2半,如果2半都出现过,那就是要求的。#include#include#includestruct trie{ trie *next[26]; int flag;};trie *root;voi...
分类:
其他好文 时间:
2015-07-30 16:22:50
阅读次数:
108
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1247 ,比较简单的字典树。 刚学字典树不久,多做题练练手。解法: 先输入所有的字符串,建树。然后对所有的字符串进行枚举,将该字符串的前i位与后len-i位分为两个字符串,如果这两个字符串都在树中...
分类:
其他好文 时间:
2015-05-02 15:09:13
阅读次数:
118
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1247 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 char p[50005]...
分类:
其他好文 时间:
2015-04-23 15:05:37
阅读次数:
198