随笔分类 - 字符串算法学习笔记
摘要:给出一个只由小写英文字符$a,b,c,\dots,y,z$组成的字符串$S$,求$S$中最长回文串的长度,字符串长度为$n$ 对于一个回文串 ①当长度$len$是偶数时,关于最中间的两个字母对称 ②当长度$len$是奇数时,关于最中间的一个字母对称 因此,进行统一,字符串首尾和每个字符间插入一个字符
阅读全文
摘要:多重匹配求连续子串问题 AC自动机入门题 对于字符串匹配可以用kmp,但是对于多个字符串匹配呢 用ac自动机 也就是kmp+trie 大佬博客 ac自动机 模式串he,she,him,hers,shit构成的trie树 然后去查询fail指针 fail指针的理解: 是把下层的去指向上层 而对于上层的
阅读全文
摘要:给出一个字符串s1,再给你n个子字符串s2,每次回答s2是否为s1的子序列 next[i][j]表示在位置i后面第一个字符j所在的位置,预处理出next数组的复杂度为log(N 26) 每次询问是log(M)M是每次询问的字符串长度 此处的子串是在主串是非连续的 序列自动机模板 "传送门" stri
阅读全文
摘要:"传送门" cpp include using namespace std; const int maxn = 1e6 + 10; char a[maxn], b[maxn], st[maxn]; int nex[maxn], p[maxn]; void getNext() { int len =
阅读全文
摘要:字符串匹配 BF算法(朴素模式匹配) 时间复杂度O(m*n),普通的模式匹配算法 BF算法的思想就是将目标串S的第一个字符与模式串T的第一个字符进行匹配,若相等,则继续比较S的第二个字符和 T的第二个字符; 若不相等,则比较S的第二个字符和T的第一个字符,依次比较下去,直到得出最后的匹配结果。BF算
阅读全文

浙公网安备 33010602011771号