#include using namespace std; #define IO ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0) const int maxnode=700000+5; const int sigma_size=26; ... ...
分类:
其他好文 时间:
2019-01-25 00:18:22
阅读次数:
188
字典树 1、定义:又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计 2、优点:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高 3、模板: co ...
分类:
其他好文 时间:
2019-01-23 23:23:07
阅读次数:
226
题目链接:传送门 思路:建立一个32位的字典树,对每一个要插入的数字查找它异或的最大值(就是尽量全部二进制的值都相反), 然后获得两个数异或的最大值。 #include<iostream> #include<cstdio> #include<cstring> using namespace std; ...
分类:
其他好文 时间:
2019-01-23 22:09:04
阅读次数:
316
题目: 给出一个斐波那契数字的前缀,问第一个有这个前缀的数字在斐波那契数列中是第几个。 思路: 紫书提示:本题有一定效率要求。如果高精度代码比较慢,可能会超时。 利用滚动数组和竖式加法来模拟斐波那契相加的过程,在这个过程中每得出一个斐波那契数字就用字典树存一下。 PS:在滚动数组中存的斐波那契数字是 ...
分类:
其他好文 时间:
2019-01-18 00:59:22
阅读次数:
342
万事开头难,开始做就会比不做会的多. 爆零真的不开心. BST,Binary Search Tree,二叉搜索树.它可以做一个类似字典树,支持插入某个键值,询问某个键值的权值,删去某个键值.也可以做一个类似于优先队列的东西,查询区间最大值,区间最小值,一个键值v的前驱(小于v的最大的键值)后继(大于 ...
分类:
其他好文 时间:
2019-01-17 19:51:03
阅读次数:
165
题意:给出一堆一组一组的数字 判断有没有哪一个是另外一个的前缀 思路:字典树 插入的同时进行判断 不过 当处理一组数字的时候 需要考虑的有两点1.是否包含了其他的序列2.是否被其他序列包含 刚开始开的1e4死活不过 1e5直接过了。。 ...
分类:
其他好文 时间:
2019-01-10 22:21:08
阅读次数:
176
题意:给出很多很多很多很多个 单词 类似搜索引擎一下 输入一个单词 判断有一个字符串包含这个单词 思路:字典树变体,把每个单词的后缀都扔字典树里面,这里要注意dd是一个单词 但是把d 和dd都放字典树 拿d匹配这一个单词会匹配两次 所以要开个数组记录一下上一个使该位置数量加一的字符串 如果该字符串不 ...
分类:
其他好文 时间:
2019-01-10 22:20:51
阅读次数:
148
字典树如图所示: TrieNode.js:在hashTable的基础上实现的 note: 1.对于toString的理解:找到改结点所有孩子的关键字,并且转为字符,通过isCompleteString判断是否为完整的字符,然后输出显示。 Trie: 总结:有点难,因为没有接触过,总的来说就是对着代码 ...
分类:
其他好文 时间:
2019-01-09 20:33:04
阅读次数:
199
设计一个支持以下两种操作的数据结构: search(word) 可以搜索文字或正则表达式字符串,字符串只包含字母 或 。 可以表示任何一个字母。 示例: 说明: 你可以假设所有单词都是由小写字母 组成的。 解题思路 直接用字典树(trie)即可,至于 匹配符直接利用回溯即可。 python3 inc ...
分类:
其他好文 时间:
2019-01-02 13:59:30
阅读次数:
183
一、概念 1.定义 是一种树形结构,是一种哈希树的变种,又名单词查找树。 2.基本性质 (1)根节点不包含字符,除根节点外每一个节点都只包含一个字符。 (2)从根节点到某一节点,路径上经过的字符连接起来,为该节点对应的字符串。 (3)每个节点的所有子节点包含的字符都不相同。 4.优点 擅于处理前缀问 ...
分类:
其他好文 时间:
2019-01-01 23:55:30
阅读次数:
248