随笔分类 -  字符串——KMP

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