JUly的文章:从头到尾彻底理解KMP KMP算法: 复杂度:线性 PMT数组:PMT中的值是字符串的前缀集合与后缀集合的交集中最长元素的长度。 next数组:是将PMT数组向后偏移一位得到的数组。 基于next数组进行匹配。 next数组的求法:模式串自己和自己匹配,用递推的方式,基于next[1 ...
分类:
编程语言 时间:
2019-03-27 11:04:32
阅读次数:
155
对于字符串A,其中绝对不含有字符’.’和’’。再给定字符串B,其中可以含有’.’或’’,’’字符不能是B的首字符,并且任意两个’’字符不相邻。exp中的’.’代表任何一个字符,B中的’’表示’’的前一个字符可以有0个或者多个。请写一个函数,判断A是否能被B匹配。 ...
分类:
其他好文 时间:
2019-03-25 23:44:34
阅读次数:
269
FFT也能用于一些特殊的字符串匹配与最小化问题。 Prob 1 1 2312321312 ...
分类:
其他好文 时间:
2019-03-23 22:56:57
阅读次数:
310
迭代器 iterator 什么是迭代器 迭代器是访问可迭代对象的工具 迭代器是指iter(obj) 函数返回的对象(实例) 迭代器可以用next(it) 函数获取可迭代对象的数据 迭代器函数 iter(iterable) 从可迭代对象中返回一个迭代器,iterable必须一个能够提供迭代器的对象 n ...
分类:
编程语言 时间:
2019-03-17 21:40:55
阅读次数:
182
~~不想写题。不如写写算法总结?~~ KMP 介(che)绍(dan) 以前都不知道$KMP$为什么叫$KMP$,现在才明白:该算法是三位大牛: D.E.Knuth 、 J.H.Morris 和 V.R.Pratt 同时发现的,以其名字首字母命名。 $KMP$可以在$O(n+m)$的时间复杂度内解决 ...
分类:
其他好文 时间:
2019-03-15 19:23:03
阅读次数:
235
题意:给你T组数据,每组数据分别输入n,m和长度为n的数字数组,和长度为m的数字数组,问你长度为m的数组第一次出现在长度为n的数组的位置 解题思路:标准字符串匹配问题,一般用kmp解,拿来练hash ...
分类:
其他好文 时间:
2019-03-13 21:22:39
阅读次数:
209
正则表达式正则表达式定义正则表达式(regularexpression)是一个特殊的字符序列,描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串。将匹配的子串替换或者从某个串中取出符合某个条件的子串,或者是在指定的文章中抓取特定的字符串等正则表达式大致的匹配过程是:拿正则表达式依次和字符串或者文本中的字符串做比较,如果每一个字符都匹配,则匹配成功,只要有一个匹配不成功的字符,则匹配不成
分类:
其他好文 时间:
2019-03-12 18:23:29
阅读次数:
190
概述 正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式描述了一种字符串匹配的模式,通常被用来检索、替换那些符合某个模式(规则)的文本。 语法 列目录时,dir *.txt或ls *.txt中的 ...
分类:
其他好文 时间:
2019-03-11 13:23:08
阅读次数:
176
题目传送门 题意:给出$s$和$t$两个串,让你构造出一个答案串,使得答案串中的01数量和s一样,并且使$t$在答案串中作为子串出现次数最多。 思路: 要想出现的次数尽可能多,那么就要重复的利用,哪一部分是可以重复利用的呢?就是前缀和后缀相同的部分,然后我们就想到了$kmp$算法中$fail$函数就 ...
分类:
其他好文 时间:
2019-03-10 22:18:37
阅读次数:
254
$\DeclareMathOperator{\fail}{fail}$ KMP 算法堪称经典中的经典了,然而这么多年以来,我没能完全理解这个算法。我对 KMP 算法掌握的程度,就是知道其原理,但是写不出来。 今天打 CF,遇到一个 KMP 的题目,解法很好想,代码量也不大,我却未能在最后的 17 分 ...
分类:
编程语言 时间:
2019-03-09 12:52:22
阅读次数:
184