Common Divisors

题目来源: D. Common Divisors time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Vasya has recently learned at...
阅读(537) 评论(0)

Nyoj 5 Binary String Matching

题目来源:http://acm.nyist.net/JudgeOnline/problem.php?pid=5 修正的next...
阅读(575) 评论(0)

kmp hdu 3336

#include #include #include using namespace std; const int MAXN = 200010; int next[MAXN]; void Get_Next(char* str, int n) { int i = 0, j = -1; next[0] = -1; while(i < n) { ...
阅读(417) 评论(1)

poj 1961 Period KMP

题目大意:给定字符串S,求其前n位所组成的字符串,其最小单元重复的次数。是上一篇的拓展; 上一篇 #include #include #include using namespace std; const int MAXN = 1000010; int next[MAXN]; void Get_Next(char* str) { int i = 0, j = -1...
阅读(413) 评论(0)

KMP poj 2406 Power Strings 字符串的幂

题意:     给定两个字符串a和b,定义式子:a*b表示两个字符串的连接,例如:a = "abc", b = "def" 则:a*b = "abcdef"。如果将连乘看成乘法,则按照普遍的方法一个非负整数的幂表示如下: a^0 = "" (the empty string) and a^(n+1) = a*(a^n). 输入:     输入字符串S每组样例一行,S为可打印字符.S长度在1~...
阅读(612) 评论(0)

KMP poj 2752 Seek the Name, Seek the Fame

深入理解KMP中的next,当我们求完next之后,len为字符串S的长度, 令j = next[len],k = next[j],则有:S[j-k+1, j] = S[len-k+1, len],就是根据这个思路来求解这个问题; #include #include #include using namespace std; const int MAXN = 400010; ...
阅读(515) 评论(0)

KMP poj 3461

找一个模式串在主串中出现的次数 #include #include using namespace std; const int MAXN = 1000010; const int MAXM = 10010; int nextval[MAXM]; void Get_NextVal(char* str) { int len = strlen( str ); int i = 0, j...
阅读(412) 评论(0)

hdu 1867 KMP A + B for you again

/**利用KMP求解,找两个字符串的前缀或者后缀相同的部分,不能是中间部分;la = KMP(str1,str2);lb = KMP(str2,str1);如果la > lb 说明找到模式串str2的前缀与主串str1的后缀相同的部分,长度为la,公共部分是谁的后缀就先输出谁,此处时显然的;*/ #include #include #include using namespace std;...
阅读(448) 评论(0)
    个人资料
    • 访问:280286次
    • 积分:7304
    • 等级:
    • 排名:第3352名
    • 原创:471篇
    • 转载:19篇
    • 译文:0篇
    • 评论:18条