// 此博文为迁移而来,写于2015年5月27日,不代表本人现在的观点与看法。原始地址:http://blog.sina.com.cn/s/blog_6022c4720102w1s8.html1、前言怪我咯,因为Trie树和AC自动机的密切相关,我想一起讲完哈哈。。。看过前面博文的同学应该都知道了,...
分类:
其他好文 时间:
2015-07-28 17:33:31
阅读次数:
134
前几天学习了并查集和trie树,这里总结一下trie。 本文讨论一棵最简单的trie树,基于英文26个字母组成的字符串,讨论插入字符串、判断前缀是否存在、查找字符串等基本操作;至于trie树的删除单个节点实在是少见,故在此不做详解。l Trie原理Trie的核心思想是空间换时间。利用字符串的公共.....
分类:
其他好文 时间:
2015-07-28 12:48:53
阅读次数:
120
【转】文章作者:yx_th000 文章来源:Cherish_yimi (http://www.cnblogs.com/cherish_yimi/) 昨天和今天学习了并查集和trie树,并练习了三道入门题目,理解更为深刻,觉得有必要总结一下,这其中的内容定义之类的是取自网络,操作的说明解释及程序的注释...
分类:
其他好文 时间:
2015-07-28 12:39:30
阅读次数:
91
定义:也被称为线索或词搜索树,Trie树。它是一个树结构,它是哈希树的变体。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以常常被搜索引擎系统用于文本词频统计。它的长处是:利用字符串的公共前缀来降低查询时间,最大限度地降低无谓的字符串比較,查询效率比哈希表高。性质:它有3个基本性...
分类:
其他好文 时间:
2015-07-28 10:14:37
阅读次数:
104
题意:
给出一个长度为n的初始序列,和m次操作;
A操作:在序列后面加入一个数;
Q操作:给出一段区间[l,r]和一个数x,求区间中的p使p的后缀异或和与x的异或值最大;
n,m
题解:
可持久化数据结构(2/4)进行中... ...
先做一个转化,因为是在序列后面加数,维护后缀和并不容易;
但是由于异或性质可以转化成前缀和的问题;
也就是在区间中选一个数,使其与另一...
分类:
其他好文 时间:
2015-07-25 18:35:02
阅读次数:
160
题意:
给出一个有权树,求树上两点路径的最大异或和;
n
题解:
考虑异或的性质,如果任选一点为根,处理出所有点的异或深度;
那么将两点的深度异或起来,LCA到根的路径就异或了两次相当于没有;
所以异或距离就是两点异或深度的异或和,问题就转化成了从n个数中选两个数使异或和最大;
这个经典问题就可以把数字按位存进01trie树,从高位到低位贪心求解;
复杂度O(31n);
...
分类:
其他好文 时间:
2015-07-25 09:34:21
阅读次数:
109
题意:
给出一个字符串,求出现次数超过1的子串的出现个数;
字符串长度
题解:
题目问的是子串的个数,那么首先我们要找到所有的子串;
而字符串的所有后缀的前缀可以不重不漏的表示所有子串;
那么如果将所有的后缀加入trie树,每个经过的结点——也就是这个后缀的前缀——计数+1;
然后题目要求按字典序输出,利用一下trie树性质搞好就完了;
指针版trie好慢啊。。。
...
分类:
其他好文 时间:
2015-07-25 09:31:21
阅读次数:
113
字典树又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。
它有3个基本性质:
1.根节点不包含字符,除根节点外每一个节点都只包含一个字符;
2.从根节点到某一...
分类:
其他好文 时间:
2015-07-25 00:16:25
阅读次数:
144
有了KMP和Trie的基础,就可以学习神奇的AC自动机了。AC自动机其实就是在Trie树上实现KMP,可以完成多模式串的匹配。 AC自动机 其实 就是创建了一个状态的转移图,思想很重要。 推荐的学习链接:http://acm.uestc.edu.cn/bbs/read.php?t...
分类:
其他好文 时间:
2015-07-23 19:29:50
阅读次数:
126
字典树:
又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),它的优点是:利用字符串的公共前缀来节约存储空间,最大限度地减少无谓的字符串比较,查询效率比哈希表高。
#define MAX 26
struct Trie
{
Trie *next[MAX];
...
分类:
其他好文 时间:
2015-07-22 13:20:46
阅读次数:
139