题目链接:Hat’s Words
题目大意:给定一些单词组成一个字典,判断每个单词是否能由字典中的词组成
分析:50000个单词,假设长度为len,如果暴力的话每个单词需要比较len*50000^2次,肯定会超时;
如果用字典树,建树O(n*len),查询每个单词只需要O(len)
对每个单词,划分为(1,2...i,)和(i+1....len)若恰好能找到则输出
注意,每个单词只能输出一次,即如果ahat能分成a\hat和aha\t,只输出一个ahat
#pragma warning(disable:4996)
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
const int maxn = 26;
const int maxw = 50005;
struct node
{
node *next[max

该博客探讨了如何利用字典树优化在大量单词中查找特定单词组成的问题。通过对比暴力方法与字典树的效率,指出字典树在处理50000个单词的数据时,能显著降低查询时间复杂度。博主分享了如何将单词拆分并进行查找,同时强调了在处理重复输出时的注意事项。
最低0.47元/天 解锁文章
1501

被折叠的 条评论
为什么被折叠?



