实现前缀树 知识点 Trie (发音为 "try") 或前缀树是一种树数据结构,用于检索字符串数据集中的键。 常见的应用场景有: 自动补全 拼写检查 IP路由(最长前缀匹配) 打字预测 示例 实现 Trie (前缀树) class TrieNode { private final int R = 2 ...
分类:
其他好文 时间:
2021-02-15 12:42:37
阅读次数:
0
KMP:一种模式匹配算法 重点:next数组:长度就是模式子串的长度 next[i]的值是若第i个位置不匹配则下一个要进行匹配的首地址 重点理解前缀后缀:例如:abcabc的最长前缀abc,后缀abc, aaaa的前缀是aaa(aaaa就没有意义了)后缀是aaa. 分析:j值回溯:j返回到前一个失配 ...
分类:
编程语言 时间:
2020-09-11 14:12:53
阅读次数:
42
题意:给定一个字符串,每个操作1修改字符串上的某个值 2.给x,y,询问以x开头和以y开头的两个后缀字符串的最长前缀的大小。 经典的线段树维护hash值,之后对于每个询问,用二分查询答案,带了两个log 比赛的时候一直被卡,结束后加了一行如果第一个字母不等就略过的优化就卡过了,太伤了。 #inclu ...
分类:
其他好文 时间:
2020-07-05 00:58:40
阅读次数:
66
###题目描述 在生物学中,一些生物的结构是用包含其要素的大写字母序列来表示的。生物学家对于把长的序列分解成较短的序列(即元素)很感兴趣。 如果一个集合 P 中的元素可以串起来(元素可以重复使用)组成一个序列 s ,那么我们认为序列 s 可以分解为 P 中的元素。元素不一定要全部出现(如下例中 BB ...
分类:
其他好文 时间:
2020-06-09 14:17:44
阅读次数:
53
首先,我们可以发现一个性质: 每一次交换的前缀,必然是该串由相同字母构成的最长前缀,或者空串。 什么意思呢?比如,对于串 \(aaabb\) ,显然选 \(aa\) 没有 \(aaa\) 划算。 接下来,我们要分两种情况讨论: 1. 两串首字母不同 如: \(aaaaabb\) 与 \(bbbbba ...
分类:
其他好文 时间:
2020-06-03 13:27:30
阅读次数:
55
算法 第七章 KMP/Manacher/BFPRT算法(完结) KMP算法及其复杂度估计 + KMP算法解决的问题:在str1字符串(长度n)中是否包含str2(长度m),返回 1或者首位置 + 暴力解O(nm),KMP算法时间复杂度O(n) + next数组与最长前缀/后缀匹配长度 + KMP算法 ...
分类:
编程语言 时间:
2020-04-21 18:01:54
阅读次数:
85
Codeforces Global Round 7 "比赛传送门" 简要总结下比赛情况。 开局还是有点坑,CF官网炸了,然后镜像也炸了,磨蹭了几分钟才看到题,还只能在m1网上看QAQ。 不过前期勉强算是顺利签到,至少都是首A。 一看D,发现是个字符串的题(我字符串好多没学)。不过发现是个回文串判断, ...
分类:
其他好文 时间:
2020-03-23 09:26:09
阅读次数:
137
luogu博客看不了 从百度快照把文字扒了下来 然后latex没法看 借用博客园latex,看完就删 以下正文 史上最通俗的后缀自动机详解$by\space KesdiaelKen$网上的解析都太巨佬了,搞得本蒟蒻看了2天才看懂……感觉本文会比网上大多数文章通俗易懂很多,并且会对程序作具体解析,适合 ...
分类:
其他好文 时间:
2019-10-26 15:38:05
阅读次数:
93
字符串训练 例题一 https://www.luogu.org/problem/P2292 给出 N个单词,和 M 个句子,问每个句子中包含这些单词的最长前缀是多少。 解题技巧 : 提取关键字 :句子......前缀..... 好的学过 AC自动机 的就应该知道了 但现在有要求是 最长 又是个 最值 ...
分类:
其他好文 时间:
2019-09-29 19:30:01
阅读次数:
90
Luogu P1470 最长前缀 Longest Prefix "Portal(传送门)" 注释 这道题与 "上一篇博客" 的题几乎一样 解析 + 有点麻烦的地方就是字符串的输入 方法一:类dp Code cpp include include include include include def ...
分类:
其他好文 时间:
2019-09-06 15:52:49
阅读次数:
81