Trie树
文章平均质量分 74
·马克图布·
如果人生真的可以分为几个阶段的话,那么我现在就在感觉自己很普通,并一无是处的那个阶段。
展开
-
hdu5687 Problem C度度熊的字典(Trie树)
Problem C Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 3643Accepted Submission(s): 964 Problem D...原创 2019-11-12 19:59:45 · 253 阅读 · 0 评论 -
hdu 2609 How many(最小表示法 + Trie树)
题意:给你m个字符串,让你判断一下这是多少种字符串(同构的算一种)。 思路:通过最小表示法把这个字符串 “唯一” 表示。然后通过插入到Trie树中统计有多少种字符串。 AC Code: #include<bits/stdc++.h> using namespace std; typedef long long ll; const int maxn=1e6+7; const in...原创 2019-11-09 16:26:45 · 152 阅读 · 0 评论 -
UVA 5792 - Diccionário Portuñol(Trie树)
题意:给你 两组字符串,问第一组的所有前缀与第二组所有后缀可以拼接为多少个不重复的字符串。 思路:借鉴dalao思路 用Trie树统计一个字典中有多少前缀是非常方便的。我们可以求出第一个前缀数目s1,第二个字符串求后缀的时候可以到转过来按前缀的形式求后缀s2。 然后考虑没有重复的时候,是 s1* s2,有重复的时候怎么办.................. 恕我口拙,我也是通过在纸上画...原创 2019-11-05 11:06:14 · 513 阅读 · 0 评论 -
SPOJ Search in the dictionary!(Trie 递归寻串)
题意:一开始给你n个字符串,然后有m组查询,每一组查询询问是否字典中存在以此串为前缀的字符串。 思路:从昨天开始就一直Wa,神奇的是网上还没有相关题解。。。多亏了@子衿君 今天及时给我说我读错了题,并给了我AC代码加以参考。因为没有做过Trie遍历的相关题目,所以费了不小的劲才AC。 先找到插入字符的尾节点,当然,如果 字典中没有这个字符串直接退出即可。然后从尾节点开始往下遍历字符,常规dfs...原创 2019-10-28 20:26:35 · 130 阅读 · 0 评论 -
hdu1251 统计难题(Tire)
统计难题 Time Limit: 4000/2000 MS (Java/Others)Memory Limit: 131070/65535 K (Java/Others) Total Submission(s): 70603Accepted Submission(s): 24347 Problem Description ...原创 2019-10-27 20:18:05 · 193 阅读 · 0 评论 -
hdu 5536 Chip Factory(枚举 + Trie)
题意:给你一个整数序列。然后让你求(s[i]+s[j])^s[k] 最大的值,其中 i、j、k 各不相同。 思路:由于范围1000较小,但三重循环有可能超时,我们可以将这个整数序列构造成一个字典树,然后双重循环枚举两个数的和,变成了求 sum ^ s[k] 的问题,即求一个数与一个数列中数的异或值最大的问题,在Trie树上贪心的寻找。可是题目要求i, j ,k都不相同,那怎么避免 在Trie树...原创 2019-10-26 19:39:02 · 164 阅读 · 0 评论 -
hdu4825 Xor Sum(01字典树)
题意:给你一个整数数列,然后在给你一个数,让你在这个整数数列中寻找到一个数使得与给定数字的异或最大。 思路:把整数序列建立起一棵01字典树,然后查找即可。(还是开 ll 比较好)。 AC Code: #include<iostream> #include<cstring> #include<queue> #include<map> #incl...原创 2019-10-26 17:00:44 · 134 阅读 · 0 评论 -
spoj Distinct Substrings(Trie)
题意是给你一个子串,然后让你找出它的不同子串的种类数。 思路:静态Trie树 “动态” 建树。 AC Code: #include<iostream> #include<cstring> #include<queue> #include<map> #include<set> #include<stack> #inclu...原创 2019-10-26 11:53:47 · 156 阅读 · 0 评论 -
spoj Phone List(Trie)
题意就是给你一组字符串,如果任意一个串都不能作为另一个串的前缀,输出YES;否则输出NO。 思路:先把字符串存起来,然后从按长度从小到大插入,这样可以方便检验长度大的串是否会经过长度短的串,即长度较短的串是否会是长度较长串的前缀。 AC Code: #include<iostream> #include<cstring> #include<queue> ...原创 2019-10-26 10:55:59 · 205 阅读 · 0 评论 -
D. Good Substrings(Trie树高效判重)
题目链接———— 题意大致是给一个字符串s,然后给26个字母一个权,0或者1,0代表着坏字符,1代表着好字符。然后给你给你一个k,求所有s的坏字符少于k的子串。 Trie树,一般分建树和查询。这个题目可以把建树和查询放在一起。大大提高效率! AC Code: #include<bits/stdc++.h> using namespace...原创 2019-08-25 15:30:54 · 240 阅读 · 0 评论