假设一母串S,子串P KMP:用于求解子串P在母串S中第一次出现的位置,或是在母串S中出现的次数。(最长公共前缀后缀) next数组的含义:next[i]表示前面长度为i的子串中,前缀和后缀相等的最大长度。 拓展kmp是对KMP算法的扩展,它解决如下问题:(最长公共前缀) 定义母串S,和子串T,设S ...
分类:
其他好文 时间:
2018-08-02 23:05:47
阅读次数:
242
引言 字符串匹配问题在OI中比较常见,我们可以比较暴力的进行求解,这样的时间复杂度为$O(n^2)$,但这种方法并不比适用与大部分情况,因为它太慢了。于是就有三个$dalao$提出了更加快速的方法来解决这个问题。他们三个的名字的首字母分别是K、M、P,所以这种算法就简称为KMP算法。 KMP算法 K ...
分类:
编程语言 时间:
2018-08-02 22:54:40
阅读次数:
169
日期: 八月二日 总分: 300分 难度: 提高 ~ 省选 得分: 40分(又炸蛋了!!) 题目列表: T1:分手是祝愿 T2:残缺的字符串 T3:树点涂色 赛后心得: 哎,T1求期望,放弃。 看T2像是 KMP 打完发现并不可做,有感觉像是 FFT,放弃 T3我打了个树剖套线段树,调了好久,发现修 ...
分类:
其他好文 时间:
2018-08-02 22:51:42
阅读次数:
162
题目链接: 题意 给一些关键词,和一个待查询的字符串 问这个字符串里包含多少种关键词 思路 AC自动机模版题咯 注意一般情况不需要修改build方法,就像kmp里的getfail一样 一般的题目就是改改insert,query 一开始写的模版总是有问题,懒得改了 直接找的kuangbin的模版 "【 ...
分类:
其他好文 时间:
2018-08-02 20:52:31
阅读次数:
165
题目链接: 题意 给一个字符串,对下标大于2的元素,问有几个最小循环节 思路 对每个元素求一下minloop,模一下就好 提交过程 ||| : |: TLE|maxn没给够 AC| 代码 cpp include include const int maxm=1e6+20; char P[maxm]; ...
分类:
编程语言 时间:
2018-08-02 19:20:47
阅读次数:
204
题目链接: 题意 给一个字符串,求前缀串跟后缀串相同的前缀串的个数 例:alala 输出:a, ala, alala 思路 仔细想想,fail[len]的返回值其实就是匹配成功的最大后缀串 得到这个后缀串后,比这个串更小的串一定还是被包含在这个新的后缀串中 迭代即可 提交过程 ||| : |: AC ...
分类:
编程语言 时间:
2018-08-02 19:17:30
阅读次数:
183
题目链接: 题意 中文题咯 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? 思路 裸题咯,就是贴一下模版,等下好整理 提交过程 ||| : |: AC|注意maxn大小 代码 cpp include in ...
分类:
编程语言 时间:
2018-08-02 19:17:00
阅读次数:
174
import re'''正则表达式:re.match:从头匹配re.search:浏览全部字符串,匹配第一个符合规则的字符串re.findall():将匹配到得的所有内容都放置在一个列表中#re.finditer():re.split():re.sub():''''''1.match'''origi ...
分类:
其他好文 时间:
2018-08-02 17:42:44
阅读次数:
183
/* pku3461(Oulipo), hdu1711(Number Sequence) 这个模板 字符串是从0开始的 Next数组是从1开始的 */ #include #include using namespace std; const int N = 1000002; int next[N];... ...
分类:
其他好文 时间:
2018-08-01 19:44:44
阅读次数:
162
表结构: company.employee 员工id id int 姓名 emp_name varchar 性别 sex enum 年龄 age int 入职日期 hire_date date 岗位 post varchar 职位描述 post_comment varchar 薪水 salary d ...
分类:
其他好文 时间:
2018-08-01 16:41:26
阅读次数:
170