trie字典树
twh233
嘻嘻
展开
-
trie 前缀树
在Trie树中主要有3个操作,插入、查找和删除。一般情况下Trie树中很少存在删除单独某个结点的情况,因此只考虑删除整棵树。1、插入 假设存在字符串str,Trie树的根结点为root。i=0,p=root。 1)取str[i],判断p->next[str[i]-97]是否为空,若为空,则建立结点temp,并将p->next[str[i]-97]指向temp,然后p指向temp;转载 2017-05-19 00:26:15 · 259 阅读 · 0 评论 -
4260: Codechef REBXOR
做法:维护异或和 由异或的性质 如果要找一个区间异或最大值的话 一定是sum[r+1]^sum[l] 这样l之前的数被异或了两次就消失了。 剩下则是l到r的异或值。可以从左到右维护一次l[]然后清0 从右到左维护一次r[]最后求一下max#include#include#include#define me(x) memset(x,0,sizeof(x))#defi原创 2017-07-21 16:16:11 · 471 阅读 · 0 评论 -
hdu_1251 统计难题 trie模版
统计难题Time Limit: 4000/2000 MS (Java/Others) Memory Limit:131070/65535 K (Java/Others)Total Submission(s): 9856 Accepted Submission(s): 3989题目链接:http://acm.hdu.edu.cn/showproblem.PHP?pid=1251转载 2017-07-20 00:51:07 · 216 阅读 · 0 评论 -
Codeforces 706D Vasiliy's Multiset(异或字典树)
转自:传送门D. Vasiliy's Multisettime limit per test4 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputAuthor has gone out of the stories ab原创 2017-07-20 00:52:45 · 213 阅读 · 0 评论 -
hdu—6059 01字典树
传送门Kanade's trioTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others)Total Submission(s): 534 Accepted Submission(s): 178Problem DescriptionGiv原创 2017-08-02 19:00:57 · 636 阅读 · 0 评论 -
Codeforces Round #430 (Div. 2) D.Vitya and Strange Lesson 异或 01字典树补集最小
传送门D. Vitya and Strange Lessontime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputToday at the原创 2017-09-02 21:48:40 · 338 阅读 · 0 评论 -
Educational Codeforces Round 32 G. Xor-MST 01字典树+二叉树 (板子
https://vjudge.net/problem/CodeForces-888G题意:n个点,每个点有一个权值,现在两两连边,边权是点与点的xor值,求最小生成树。首先xor想到,是否是01字典树,从题目中最小生成树的最小大概也就猜到了要建trie树,怎么建呢,对于xor来说,高位相同越多,他们xor值变得更小,所以我们对n个点的权值可以排序,相邻的建边会更优一点,原创 2017-11-13 23:55:53 · 248 阅读 · 0 评论 -
牛客练习赛11 B.假的字符串 (trie+拓扑排序
题目链接转自:https://blog.csdn.net/Mr_Treeeee/article/details/79177733先全部存入字典树。然后一个个判。可以得到mp[26][26]矩阵代表mp[x][y]。x字母要大于y字母。 然后检查这个矩阵有没有矛盾就行了。//拓扑排序找环注意包含关系则大的那个不能输出。 #include <iostream&g...原创 2018-10-22 12:13:14 · 212 阅读 · 1 评论 -
2018六校联合周赛上学期第二场 seventh的tired树上路径 异或字典树
题目链接 众所周知树上两个点xy的距离是deep[x]+deep[y]-deep[lca(x,y)]*2然后我们把这个加减法换成异或,我们就会发现,deep[lca(x,y)]被消掉了所以题目就简化成w是每个点的前缀异或和,只要找到一对最大的(x,y)让w[x]^w[y]最大就行了,这个经典问题用字典树就能解决了。注意不要过量memset /// ...原创 2018-10-24 22:23:11 · 134 阅读 · 0 评论