随笔分类 - 字符串——KMP
摘要:Statement 小 C 学习完了字符串匹配的相关内容,现在他正在做一道习题。 对于一个字符串 \(S\),题目要求他找到 \(S\) 的所有具有下列形式的拆分方案数: \(S = ABC\),\(S = ABABC\),\(S = ABAB \ldots ABC\),其中 \(A\),\(B\)
阅读全文
摘要:A 题面 对于一个仅含小写字母的字符串 \(a\) ,若 \(p\) 为 \(a\) 的前缀且 \(p\ne a\) ,那么我们称 \(p\) 为 \(a\) 的 \(proper\) 前缀。 规定字符串 \(Q\)(可以是空串)表示 \(a\) 的周期,当且仅当 \(Q\) 是 \(a\) 的 \
阅读全文
摘要:1.字符串匹配 例题:「POJ3461」Oulipo 「HDU2087」剪花布条 「USACO2015FEB」Censoring (Silver) #include<bits/stdc++.h> using namespace std; const int N = 1e6+5; char s[N],
阅读全文
摘要:/*法1:通过 exkmp,求得 z 数组 错误复杂度方法: 1.枚举每一个后缀,通过 Z 可以求出与前缀的 LCP 然后去串里面暴力找子串。 2.枚举每一个中间串,通过 Z 可以求出与前缀的 LCP ,将这些长度暴力染色,遇到后缀就判一下。 正解: 通过exkmp[i]+i==len判断出这个串既
阅读全文

浙公网安备 33010602011771号