随笔分类 - 字符串-KMP
摘要:题意 给一个循环串,从某个点开始会得到一个字典序最小的串,从某个点开始会得到一个字典序最大的串,求这两个点的下标,以及其出现的次数。 "传送门" 思路 最小/大表示法求下标,kmp求出现次数。 "最小/大表示法" Code cpp include include using namespace st
阅读全文
摘要:题意 给定一个字符串,求其子串,该子串即是前缀又是后缀,也是既非前缀也非后缀的字串。 "传送门" 思路 前缀数组的灵活应用,对于即使后缀也是前缀的子串,判断是否在之前出现过即可。 Code cpp include using namespace std; const int maxn = 1e6+1
阅读全文
摘要:KMP是一种复杂度为O(n+m)的字符串匹配算法,最难理解的部分就是Next数组的求解 Next数组即为模板串的每个位置对应的 0~i 位置的前缀与后缀中的最大公共部分,依此公共部分来实现模板串的移动匹配,依此大幅度降低了字符串匹配的复杂度。 Next数组的其实就是对模板串相同前缀后缀的一个递归匹配
阅读全文

浙公网安备 33010602011771号