1 #include 2 3 4 using namespace std; 5 6 #define
MAX 255 7 8 typedef unsigned char BYTE; 9 10 typedef BYTE String[MAX+1]; 11 12
bo...
分类:
其他好文 时间:
2014-05-22 15:10:06
阅读次数:
278
题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=4749题意:题意:给出两个数字串A、B。问A中有多少不相交的子串a能匹配B。匹配的意思是a中任意两个位置i和j的大小关系和B的这两个位置的大小关系是一样的。思路:若是完全一模一样的匹配的话那么KMP是很好...
分类:
其他好文 时间:
2014-05-22 03:10:14
阅读次数:
304
举个例子,如字符串 ababc
首先,不考虑空字符,所有的前缀有a, ab, aba, abab, ababc,其中真前缀有a, ab, aba, abab
同理可以理解后缀,真前(后)缀就是指不包含自身的前(后)缀
前缀函数next[j]是指某个字符串的最长真后缀同时也是它的前缀的子串长度。不太理解可以看下面的例子
a -> 0
ab -> 0
aba -> 1
abab -> 2...
分类:
其他好文 时间:
2014-05-18 18:29:02
阅读次数:
993
题目连接:Codeforces 432D Prefixes and Suffixes
题目大意:给出一个字符串,求所有既是前缀串又是后缀串的字符串出现了几次。
解题思路:根据性质可以根据KMP算法求出所有的前后缀串,然后利用dp求解,dp[i]表示从1到i这个子串出现过的次数。转移方程dp[jump[i]]+=dp[i]。任意一个dp[i]的初始状态应该是1。
#include
#...
分类:
其他好文 时间:
2014-05-18 14:11:46
阅读次数:
321
【题目】
Implement strStr().
Returns a pointer to the first occurrence of needle in haystack, or null if needle is not part of haystack.
【题意】
实现库函数strStr(), 功能是在字符串haystack中找出目标串needle第一次出现的索引位
【思路】
字符串的匹配,可以用暴力解法,但不推荐。一般使用KMP算法求解。
简要介绍一下KMP的思想:
...
分类:
其他好文 时间:
2014-05-18 04:10:04
阅读次数:
244
对串的基本操作都全已经实现对kmp,kf字符串替换等功能全都已经实现由于时间原因。没来得及注释,希望大家参考见谅。串操作hstring.h头文件实现
//kallen 1 #ifndef _HSTRING_H_ 2 #define _HSTRING_H_ 3 #include 4 class mS....
分类:
编程语言 时间:
2014-05-17 21:07:34
阅读次数:
521
while(scanf("%s",str+1)==1){intn=strlen(str+1);next[1]=0;intj=0;for(inti=2;i2#include3#include4#include5#include6#include7#include8usingnamespacestd;9...
分类:
其他好文 时间:
2014-05-17 18:14:24
阅读次数:
270
题目链接题目意思: 给出两个字符串a, b, 求最长的公共字串c, c是a的后缀,也是b的前缀.
本题没有具体说明哪个字符串是文本串和匹配串, 所以都要考虑思路: 查找的时候, 当文本串结束的时候, 返回匹配串的位置, 即为c的长度.附上代码: 1
/************************...
分类:
其他好文 时间:
2014-05-15 20:50:22
阅读次数:
385
Implement strStr().Returns a pointer to the
first occurrence of needle in haystack, or null if needle is not part of
haystack.此题我觉得并不是真要你写出kmp算法。 指针暴力...
分类:
其他好文 时间:
2014-05-15 01:49:42
阅读次数:
330