前一篇文章介绍了Trie树。它实现简单但空间效率低。假设要支持26个英文字母,每一个节点就要保存26个指针,因为节点数组中保存的空指针占用了太多内存。让我来看看Ternary Tree。 When you have to store a set of strings, what data struc ...
分类:
其他好文 时间:
2017-06-13 11:24:37
阅读次数:
313
定义:又称字典树,单词查找树或者前缀树,是一种用于高速检索的多叉树结构。 如英文字母的字典树是一个26叉树,数字的字典树是一个10叉树。 核心思想:是空间换时间.利用字符串的公共前缀来减少查询时间的开销以达到提高效率的目的。 三个基本性质: 1. 根结点不包括字符,除根结点外每个结点都仅仅包括一个字 ...
分类:
其他好文 时间:
2017-06-12 18:11:40
阅读次数:
245
目录 树状数组... 1 线段树... 3 树链剖分... 5 主席树... 11 字典树Trie树... 12 加权并查集... 15 二分图... 18 树状数组 (pos^(pos-1))&pos==pos&(-pos)两种写法都行 单点添加,区间查询 #include<cstdio> #in ...
分类:
其他好文 时间:
2017-06-12 00:37:43
阅读次数:
261
题意:给出一个字符串和若干个模板,求出在文本串中出现的模板个数。 思路:由于有可能有反复的模板,trie树权值记录每一个模板出现的次数就可以。 #include<cstdio> #include<cstring> #include<cmath> #include<cstdlib> #include< ...
分类:
其他好文 时间:
2017-06-08 20:28:08
阅读次数:
221
1. trie树,又名字典树,顾名思义。它是能够用来作字符串查找的数据结构。它的查找效率比散列表还要高。 trie树的建树: 比方有字符串”ab” ,“adb”,“adc” 能够建立字典树如图: 树的根节点head不存储信息,它有26个next指针,分别相应着字符a,b,c等。插入字符串ab时,ne ...
分类:
其他好文 时间:
2017-06-08 18:51:33
阅读次数:
277
字典树又称单词查找树,Trie树。是一种树形结构,是一种哈希树的变种。典型应用是用于统计。排序和保存大量的字符串(但不仅限于字符串),所以常常被搜索引擎系统用于文本词频统计。它的长处是:利用字符串的公共前缀来降低查询时间,最大限度地降低无谓的字符串比較。查询效率比哈希树高。 它有3个基本性质: 1. ...
分类:
其他好文 时间:
2017-06-04 10:49:40
阅读次数:
128
4896: [Thu Summer Camp2016]补退选 Description X是T大的一名老师,每年他都要教授许多学生基础的C++知识。在T大,每个学生在每学期的开学前都需要选课,每 次选课一共分为三个阶段:预选,正选,补退选;其中"补退选"阶段最忙碌。在补退选阶段,学生即可以选课,也 可 ...
分类:
其他好文 时间:
2017-05-29 18:22:47
阅读次数:
230
【BZOJ4896】[Thu Summer Camp2016]补退选 Description X是T大的一名老师,每年他都要教授许多学生基础的C++知识。在T大,每个学生在每学期的开学前都需要选课,每 次选课一共分为三个阶段:预选,正选,补退选;其中"补退选"阶段最忙碌。在补退选阶段,学生即可以选课 ...
分类:
其他好文 时间:
2017-05-26 17:04:57
阅读次数:
201
【BZOJ4567】[Scoi2016]背单词 Description Lweb 面对如山的英语单词,陷入了深深的沉思,“我怎么样才能快点学完,然后去玩三国杀呢?”。这时候睿智 的凤老师从远处飘来,他送给了 Lweb 一本计划册和一大缸泡椒,他的计划册是长这样的: ————— 序号 单词 ————— ...
分类:
其他好文 时间:
2017-05-23 16:57:15
阅读次数:
244
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1075 两个星期没有刷题了,,从今天开始吧,先从hiho开始刷,巩固一下之前学的。。 可以用trie树做,也可以用map。。。 发现自己对一些字符串的基础输入输出还是存在问题,一直不是很理解。 map: ...
分类:
其他好文 时间:
2017-05-23 00:30:10
阅读次数:
155