题目描述 给出一个长度为n的文本串,有Q次询问,每次给出一个字符串S,询问S是否在文本串中作为子串出现过 输入格式 第一行两个整数n和Q,分别表示文本串长度和询问次数 第二行为长为n的文本串 接下来Q行,每行为一个字符串S 输出格式 输出Q行对应Q次询问的答案,若出现过则输出YES,否则输出NO 数 ...
分类:
其他好文 时间:
2019-07-15 21:14:01
阅读次数:
114
题意 给定一些字符串,问是否存在一个无限长度的字符串,使得它不包含任何一个给定的串 思路 将所有串加入AC自动机,那么我们从根节点选择的一个无线字符串显然不能经过任何一个带有end标记的节点,不然就说明其中包含了这个节点对应的字符串。 于是用fail标记建成trie图,判断trie图上面有没有一个不 ...
分类:
其他好文 时间:
2019-07-14 21:28:36
阅读次数:
114
理论知识与功能 定义 Trie(字典树),用于实现字符串的快速检索。其每个节点都含有若干个字符指针。 例如我在字典树里插入"abc","ac",那么就会生成一个这样丑陋的东西。 好吧是我的图画的丑陋 初始化 一棵空的Trie仅包含一个根节点,那么他的指针自然也指向空。 注:因为Trie运用在检索字符 ...
分类:
其他好文 时间:
2019-07-14 20:15:53
阅读次数:
123
这道题其实可以用01Trie树来解决。平时我们所用的Trie树都是插入字符,而这里的Trie树只用0和1来表示,就成了一棵二叉树。最大的异或和实际上就是两个点到根节点异或和的异或和的最大值。 先dfs预处理出所有节点到根节点的异或和,在用这些异或和建一棵Trie树,最后在Trie树上贪心。对于一个数 ...
分类:
其他好文 时间:
2019-07-14 20:10:15
阅读次数:
132
"题目" 给你一棵每条边从父亲指向儿子的树,每条边上面有一个字母。 从树上的 任意一点 出发,走出的路径就是对应一个子串。 (这不是$Trie$,因为每个父亲可能会连出字母相同的边) 再给你一个字符串$S$,让你求$S$的子串和树上路径的对应个数。 思考历程 一开始以为路径是从根节点出发,于是我就想 ...
分类:
其他好文 时间:
2019-07-14 15:23:34
阅读次数:
148
HDU - 5390 看到的第一感觉就是树链剖分 + 线段树套字典树, 感觉复杂度不太对。 其实这种路径其实很特殊, 一个点改变只会影响它儿子到根的路径, 并且这种求最优值问题可以叠加。 所以我们修改的时候对对应dfs序打标记, 询问的时候在线段树上从上往下对每个对应区间求个最优值。 这样还会被卡M ...
分类:
其他好文 时间:
2019-07-14 11:12:06
阅读次数:
73
题意:从 1 走到 n,要求所走路径不能出现给定的路径,求最短路 思路:因为要求不能出现给定路径,那么我可以求助ac自动机完成判断。 我们可以在build的时候标记哪些路径不能出现,显然下面这种表示后缀不能出现,那么他也不能出现 然后再把图建完整。因为如果一个路径不在Trie中有两种情况,一种是他可 ...
分类:
其他好文 时间:
2019-07-13 12:00:33
阅读次数:
92
字典树在多个单词匹配长句或者求单词的相似前缀时非常好用。 下面是他的结构: 字典树的每一条边就是一个字母,按照单词字母顺序给节点排序号。 这里用二维数组代表线段树的结构:$tree[i][j]=k$ $i$代表节点序号,$j$代表是上一个节点下面的哪个字母节点($a z$分为$0 25$),$k$代 ...
分类:
其他好文 时间:
2019-07-11 09:46:18
阅读次数:
102
golang提供了sql包查询数据 建立连接 导入第三方包 open打开 返回一个db类型后续会用来操作sql语句,err校验 这里需要注意的是open打开并不会校验数据源是否有效,所以需要ping一下,如果不进行ping的话,以往情况会有些童鞋因为数据源不通关闭等导致的错位在纠结半天。 开始操作 ...
分类:
数据库 时间:
2019-07-10 21:38:53
阅读次数:
160
from:https://www.cnblogs.com/justinh/p/7716421.html Trie,又经常叫前缀树,字典树等等。它有很多变种,如后缀树,Radix Tree/Trie,PATRICIA tree,以及bitwise版本的crit-bit tree。当然很多名字的意义其实 ...
分类:
其他好文 时间:
2019-07-10 09:15:01
阅读次数:
419