随笔分类 - KMP
摘要:A. Hotelier 题意:有十个位置初始为 0,三种操作,找到左边第一个空位,变成 1,找到右边第一个空位,变成 1,把某个位置变成 0 直接模拟.. #include<iostream> #include<cstdio> #include<algorithm> #include
阅读全文
摘要:传送门 如果不考虑不重叠的限制的话,num[i] 是很容易求的: 对于限制,考虑每个点都暴力跳 fail,直到跳到合法为止 但是这种做法可以被卡到 n^2(aaaaaaaaaa... 这样的数据) 考虑 KMP 时怎么维护 fail 的,搞一个指针 j,指向当前上一个位置
阅读全文
摘要:传送门 一个串的匹配肯定考虑KMP 那就暴力KMP 记录一下到每个字符时匹配的位置 找到一个符合的串就标记然后暴力回跳 感觉好像太暴力了... 膜一下CRK大佬,用的是AC自动机%%%
阅读全文
摘要:传送门 KMP 对于这种一个字符串的问题 肯定先考虑KMP 如果一个串A要成为周期 设A长度为len_A,原串长度为len 那么串A要成为周期的充分必要条件就是: 从0 ~ (len-len_A)的串就要等于(len_A) ~ len的串 如下图: 要怎么找出我们上图红色的串呢? 考虑 KMP 的
阅读全文
摘要:传送门 题目描述: 给定一个字符串 求出该字符串最多由几个相同的子串连接构成 字符串长度 n<=1000000 hash or KMP hash的话就枚举长度,暴力判断 复杂度约为O(n log n) 主要是KMP怎么搞 先想想如果该字符串是由一些相同的子串构成,如abcabcabcabc 那么fa
阅读全文