题目链接:https://vjudge.net/problem/HDU-2896 题意:给出n个模式串(没有相同的模式串),模式串总长<=1e5。然后给出m个文本,文本总长<=1e7,求每个文本串中出现的模式串(最多3种)。 思路: 板子题。因为要输出文本串中出现的模式串编号,所以需要记录字典树中以 ...
分类:
其他好文 时间:
2020-03-14 12:43:02
阅读次数:
55
B: 问题简述:给你n个长度最多为10 的 数字字符串,问是否存在某个字符串是另一个字符串的前缀。 所需知识点:字典树 问题形式化描述:使用某个数据结构,统计所有字符串,并且支持快速查询统计的字符串当中是否存在字符串是当前查询串的前缀。 解题思路:对所欲给定的n个字符串建立一颗字典树,并且对 每个字 ...
分类:
其他好文 时间:
2020-03-13 12:53:59
阅读次数:
82
题: 题意:给一棵树,每个节点有权值。每次询问要求回答一个值XOR某条路径上的一个点的最大值。 分析:我们在学可持续化01字典树时,写的模板题是支持区间查询的,插入一个数是pre是和u-1之间建立,那么在树上这个关系就是父亲与儿子的关系建立可持续化01字典树; 然后查询久查询[fa[lca[x,y] ...
分类:
其他好文 时间:
2020-03-11 19:46:29
阅读次数:
56
题意 给一棵树,每个节点有权值。每次询问要求回答一个值异或某条路径上的一个点的最大值。 思路 我们可以对每一个点开一个字典树,记录从这个点到根的路径上的所有数,然后求两点的LCA,然后把路径分成左端点到LCA的路和右端点到LCA的路来做。 ...
分类:
其他好文 时间:
2020-03-11 00:58:21
阅读次数:
47
给定一个模板串,里面带有 (可以匹配任意一段可以为空的串)和 (可以匹配任意一个字母),然后给定 $n$ 个询问串,问有多少询问串不能匹配。$n \leq 500, len \leq 1000$ Solution 对所有询问串建立字典树,然后考虑一个 BFS 过程,状态表示为 $(i,j)$,即模板 ...
分类:
其他好文 时间:
2020-03-08 22:09:28
阅读次数:
66
字典树 又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来节约存储空间,最大限度地减少无谓的字符串比较,查询效率比哈希表高,缺点是内存开销大。 字典 ...
分类:
其他好文 时间:
2020-03-08 15:44:56
阅读次数:
60
一、碎语&心得 下一周我准备学习 AC 自动机(这个名字是真的喜感不知道为什么要叫做 AC 自动机)。所以我要先学他的前置条件字典树,因为已经有了用数组模拟树的经验,再加上树也学了不少了而且字典树很简单。所以我的学习没有遇到什么困难,花了半个小时看了一会儿模板,在搞懂了几个关键点之后我就写出来了,代 ...
分类:
其他好文 时间:
2020-03-08 14:32:33
阅读次数:
81
??Blog : "《LeetCode 208.实现Trie(字典树) JavaScript》" 实现一个 Trie (前缀树),包含 insert, search, 和 startsWith 这三个操作。 说明: 你可以假设所有的输入都是由小写字母 a z 构成的。 保证所有输入均为非空字符串。 ...
分类:
编程语言 时间:
2020-03-07 11:21:10
阅读次数:
72
引用书籍:《算法竞赛入门到进阶》清华大学出版社 字符串匹配问题 有这样一个字符串的问题:在n个字符串中查找某个字符串是否存在? 如果使用暴力的做法,逐个来匹配每个字符串,复杂度是O(nm),m是字符串的平均长度,这种做法效率很低。 字典树:在上述问题中,如果像查字典一样,比如要查找单词"dog",先 ...
分类:
编程语言 时间:
2020-03-06 22:18:08
阅读次数:
82
题意 给出n个数和m次询问,每次询问给出一个数x,问在n个数中哪个数与x异或值最大 思路:将给出的n个数放进0 1字典树,然后在询问的时候,倘若目前位为0,则去找相反的节点 1 #include <queue> 2 #include <vector> 3 #include <stdio.h> 4 # ...
分类:
其他好文 时间:
2020-03-03 19:10:55
阅读次数:
70