码迷,mamicode.com
首页 >  
搜索关键字:kmp 字符串匹配    ( 3890个结果
hdoj3746(kmp算法的nex数组求最小循环节)
题目链接:https://vjudge.net/problem/HDU-3746 题意:给定一个字符串,问最少在两端添加多少元素使得整个字符串是呈周期性的。 思路: 应用到kmp中nex数组的性质,数组的最小循环节是L=len-nex[len],证明见http://www.cnblogs.com/w ...
分类:编程语言   时间:2019-11-03 18:27:00    阅读次数:118
剪花布条
https://loj.ac/problem/10043 题目描述   给出两个字符串$A$和$B$,求$A$最多同时分成几个互不重叠的$B$。 思路   单字符串的匹配问题,可以考虑用$KMP$解决,属于模板题。   首先来介绍一下$KM ...
分类:其他好文   时间:2019-11-03 18:12:31    阅读次数:83
Censoring
https://loj.ac/problem/10048 题目描述   给出两个字符串$S$和$T$,要求不断从$S$中删除$T$,删除$T$后空缺为补齐,求删完后的字符串。 思路   单字符串匹配,显然我们可以用$KMP$。先跑一遍$KMP$的板子,预处理匹 ...
分类:其他好文   时间:2019-11-03 18:10:25    阅读次数:91
hdoj3336(kmp算法next数组的应用)
题目链接:https://vjudge.net/problem/HDU-3336 题意:给定长为n(<=2e5)的字符串s,求s的每个前缀在s中出现的次数之和。 思路: 用dp[i]表示以s[i]为结尾的子串是s的某一种前缀的方案数,那么dp[i]=dp[nex[i]]+1,因为[nex[i]-(i ...
分类:编程语言   时间:2019-11-03 16:47:05    阅读次数:61
(模板)扩展kmp算法(luoguP5410)
题目链接:https://www.luogu.org/problem/P5410 题意:有两个字符串a,b,要求输出b与a的每一个后缀的最长公共前缀。输出: 第一行有lenb个数,为b的next数组(特别地,next1为lenb) 第二行有lena个数,即答案。 思路:扩展kmp模板,涉及字典树,后 ...
分类:编程语言   时间:2019-11-03 13:07:34    阅读次数:92
poj2406(求字符串的周期,kmp算法next数组的应用)
题目链接:https://vjudge.net/problem/POJ-2406 题意:求出给定字符串的周期,和poj1961类似。 思路:直接利用next数组的定义即可,当没有周期时,周期即为1。 AC代码: #include<cstdio> #include<cstring> #include< ...
分类:编程语言   时间:2019-11-03 12:46:45    阅读次数:75
poj1961(kmp算法next数组应用)
题目链接:https://vjudge.net/problem/POJ-1961 题意:给定一个长为n的字符串(n<=1e6),对于下标i(2<=i<=n),如果子串s(1...i)是周期子串,输出其最大周期。 思路: 考察对kmp算法中next数组的定义掌握,如果(i+1)%(i-j)==0 && ...
分类:编程语言   时间:2019-11-03 12:29:30    阅读次数:96
Java 正则表达式
正则表达式定义了字符串的模式。 正则表达式可以用来搜索、编辑或处理文本。 正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。 正则表达式实例 一个字符串其实就是一个简单的正则表达式,例如 Hello World 正则表达式匹配 "Hello World" 字符串。 .(点号)也是一个正则 ...
分类:编程语言   时间:2019-11-03 01:02:27    阅读次数:83
「CF176B」 Word Cut
Description 求经过 $k$ 次将 $S$ 划分成两部分并交换使 $S$ 串变成 $T$ 串的方案数。 Solution 可以发现,每次可以将原串变为本质不同的其他串,也可以从其他串变为原串。无论多少次变换,归根结底都可以通过仅一次变换求出,所以先预处理出一个 $cnt$ 来表示原串通过一 ...
分类:其他好文   时间:2019-11-02 11:49:42    阅读次数:79
KMP
用于字符串匹配,复杂度O(n+m) 步骤: 1.b串自我匹配出f数组,其中f[i]表示以b[i]为结尾的后缀与前缀的最大匹配长度-1 2.依次与a串中每个字符匹配。i、j分别作为a与b的指针。 若a[i]==b[j] 两个指针后移,再判断j是否到达b末 否则 若j非0 j = 上一个匹配位置f[j- ...
分类:其他好文   时间:2019-10-31 22:12:06    阅读次数:106
3890条   上一页 1 ... 31 32 33 34 35 ... 389 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!