Trie树,即字典树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。 而Tire树是很典型的用空间换时间的一种算法,为什么这么 ...
分类:
其他好文 时间:
2017-08-11 12:21:55
阅读次数:
125
(如果硬要翻译标题的话。。。trie from try to die。。。好像很不错诶。。。不如这么写trie=try+die得了。。。) trie是什么?1. 字典树 2.集合 (其实两个都对啊喂) 一颗普通的trie树一般类似于这样(图片来源于http://dongxicheng.org/str ...
分类:
其他好文 时间:
2017-08-10 22:16:49
阅读次数:
166
个人心得:通过这道题,对于树的运用又加深了一点,字典树有着他独特的特点,那个指针的一直转换着实让我好生想半天, 不得不佩服这些发明算法人的大脑。 这题的解决方法还是从网上找到的,还好算法是自己实现得,没错!组合体只要进行分割再暴力搜索就好了, 步骤就是根据得到的字符串建立字典树,然后一一找寻时,一次 ...
分类:
其他好文 时间:
2017-08-10 21:03:48
阅读次数:
129
AC自动机是著名的多模匹配算法之一。常见的例子就是给出n个单词,再给你包含m个字符的文章,问你有多少个单词在文章中出现过。 其实AC自动机是以字典树和KMP的基础上实现的。 首先要构造一个Tire,然后再在上面构造失配然后再匹配。 但是我现在还是不怎么懂失配是怎么弄的,先留个坑,后面来填。 模板: ...
分类:
其他好文 时间:
2017-08-09 20:01:44
阅读次数:
124
数据结构 栈,队列,链表 ?哈希表,哈希数组 ?堆,优先队列 双端队列 可并堆 左偏堆 ?二叉查找树 Treap 伸展树 ?并查集 集合计数问题 二分图的识别 ?平衡二叉树 ?二叉排序树 ?线段树 一维线段树 二维线段树 ?树状数组 一维树状数组 N维树状数组 ?字典树 ?后缀数组,后缀树 ?块状链 ...
分类:
编程语言 时间:
2017-08-08 12:40:41
阅读次数:
215
// 好像没什么好说的了#include #include #include #include #include #include #include #include #include using namespace std; const int maxn=(int)260020; const in... ...
分类:
其他好文 时间:
2017-08-07 20:28:17
阅读次数:
178
特别声明 本文只是一篇笔记类的文章,所以不存在什么抄袭之类的。 以下为我研究时参考过的链接(有很多,这里我只列出我记得的): Trie(字典树)的应用——查找联系人 trie树 Trie树:应用于统计和排序 牛人源码,研究代码来源 1、字典树的概念 字典树,因为它的搜索快捷的特性被单词搜索系统使用, ...
分类:
其他好文 时间:
2017-08-07 00:14:37
阅读次数:
278
关于trie数的其他应用,可参见http://www.cnblogs.com/dlutxm/archive/2011/10/26/2225660.html,感觉写的不错。 ...
分类:
其他好文 时间:
2017-08-06 18:06:30
阅读次数:
162
题意: f(A,B)f(A,B)表示:B在A中作为子串出现的次数。 题目给出n个证据,m个子弹 AiA_i是证据。BiB_i是子弹。题目问:全部BiB_i对每一个AiA_i造成的伤害是多少,即每一个BiB_i在AiA_i中出现的次数总和。 解析: 不会AC自己主动机,所以就用字典树水了一发。没想到过 ...
分类:
其他好文 时间:
2017-08-06 14:05:03
阅读次数:
149
Problem Description Give you an array A[1..n],you need to calculate how many tuples (i,j,k) satisfy that (i<j<k) and ((A[i] xor A[j])<(A[j] xor A[k])) ...
分类:
其他好文 时间:
2017-08-05 15:38:40
阅读次数:
129