题目大意: 给你一些单词,和一个字符串,问你这个字符串中含有多少个上面的单词。 解题分析: 这是多模匹配问题,如果用KMP的话,对每一个单词,都跑一遍KMP,那么当单词数量非常多的时候,耗时会非常多,所以这里用到了AC自动机,这是一种类似于Trie树的数据结构,但是同时,它也用到了KMP算法中 ne ...
分类:
其他好文 时间:
2018-08-20 00:28:39
阅读次数:
210
"题目链接" Solution 感觉比较巧的题啊... 考虑几点: 可以交换无数次字母表,即字母表可以为任意形态. 对于以其他字符串为前缀的字符串,我们可以直接舍去. 因为此时它所包含的前缀的字典序绝对比它本身小. 需要使得某个字符串 $S$ 字典序最小 ,需要讨论两种情况: $1.$ 与它 没有公 ...
分类:
编程语言 时间:
2018-08-10 23:21:03
阅读次数:
256
今天本来想写一个可持久化Trie树,发现这道题一直没做就补上了。 其实思路很简单,假如说两个数,和同一个数异或,很显然,由于进制,高位上的一个1可以大于低位上所有1,所以即使后面的情况再糟糕,也比取后面好的值高(其实就是1000比0111大) 所以可以建一个01线段树,从高往低插入一个数,比较时取反 ...
分类:
其他好文 时间:
2018-08-10 01:34:36
阅读次数:
185
<题目链接> 题目大意: 给你一些单词,和一个字符串,问你这个字符串中含有多少个上面的单词。 解题分析: 这是多模匹配问题,如果用KMP的话,对每一个单词,都跑一遍KMP,那么当单词数量非常多的时候,耗时会非常多,所以这里用到了AC自动机,这是一种类似于Trie树的数据结构,但是同时,它也用到了KM ...
分类:
其他好文 时间:
2018-08-05 21:27:15
阅读次数:
146
思路: 网上的题解有AC自动机的,有trie树的,还有(乱搞?)的 首先把输入的那n个串按照字典序排序, 把n个串翻转以后再按照字典序排序 这样我们发现, 查的前缀在字典序排序后是一段区间, 查的后缀翻转一下在翻转后的字典序排序以后也是一段区间 这样如果不考虑重叠的问题,就是一个简单的二维数点问题, ...
分类:
其他好文 时间:
2018-08-05 11:49:44
阅读次数:
165
[TOC] Trie 树 PROBLEM 题目描述 字母(Trie)树是一个表示一个字符串集合中所有字符串的前缀的数据结构,其有如下特征: 1.树的每一条边表示字母表中的一个字母 2.树根表示一个空的前缀 3.树上所有其他的节点都表示一个非空前缀,每一个节点表示的前缀为树 根到该节点的路径上所有字母 ...
分类:
其他好文 时间:
2018-07-31 22:13:12
阅读次数:
186
题目描述 字母(Trie)树是一个表示一个字符串集合中所有字符串的前缀的数据结构,其有如下特征:1.树的每一条边表示字母表中的一个字母2.树根表示一个空的前缀3.树上所有其他的节点都表示一个非空前缀,每一个节点表示的前缀为树根到该节点的路径上所有字母依次连接而成的字符串。4.一个节点的所有出边(节点 ...
分类:
其他好文 时间:
2018-07-31 21:51:07
阅读次数:
129
什么是AST 树是一种重要的数据结构,由根结点和若干颗子树构成的。 根据结构的不同又可以划分为二叉树,trie树,红黑树等等。今天研究的对象是AST,抽象语法树,它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。通过操作这棵树,可以精准的定位到声明、赋值、运算语句,从而实 ...
分类:
Web程序 时间:
2018-07-31 21:47:21
阅读次数:
335
1014 : Trie树 题意: 给出n个字符串和m个询问,每个询问为一个字符串,问该字符串是给出的n个字符串中多少个字符串的前缀? 分析: 字典树的入门题。 学习资料:大佬博客 代码: 数组写法 #include <map> #include <queue> #include <math.h> # ...
分类:
其他好文 时间:
2018-07-31 11:09:09
阅读次数:
127
恩,刚学了一发可持久化Trie树,其实挺简单的。。 反正可持久化数据结构都一个样嘛,动态加点就好了。 还是写一篇博客给自己看吧。 因为树上的路径嘛,肯定要想到把路径分成两部分,x lca(x,y) 和 y lca(x,y) 。 这就相当与两块区间,然后求单点异或最大值,自然就想到可持久化了呗。(想想 ...
分类:
其他好文 时间:
2018-07-29 13:01:56
阅读次数:
212