2012年9月26日

后缀数组应用5: 求两个不同字串串的最长公共子串

摘要: 求两个不同字串串的最长公共子串依然是将两个字串串拼接在一起。。然后求sa,height数组,最后枚举height值。。View Code #include<stdio.h>#include<stdlib.h>#include<string.h>#include<iostream>#include<vector>#include<string>#include<math.h>#include<map>#include<set>#include<algorithm>using n 阅读全文

posted @ 2012-09-26 16:32 more think, more gains 阅读(172) 评论(0) 推荐(0) 编辑

后缀数组应用4: 求不可重叠最长重复子串

摘要: View Code #include<stdio.h>#include<stdlib.h>#include<string.h>#include<iostream>#include<vector>#include<string>#include<math.h>#include<map>#include<set>#include<algorithm>using namespace std;#define MAXN 10010int sa[MAXN], rank[MAXN], su 阅读全文

posted @ 2012-09-26 16:16 more think, more gains 阅读(203) 评论(0) 推荐(0) 编辑

后缀数组应用3: 求子串个数

摘要: View Code #include<stdio.h>#include<stdlib.h>#include<string.h>#include<iostream>#include<vector>#include<string>#include<math.h>#include<map>#include<set>#include<algorithm>using namespace std;#define MAXN 10010int sa[MAXN], rank[MAXN], su 阅读全文

posted @ 2012-09-26 16:14 more think, more gains 阅读(380) 评论(0) 推荐(0) 编辑

后缀数组应用2: 最长回文字串

摘要: 算法:把字符串逆序拼接在第一个字符串后面,然后就是求最长公共前缀。。#include<stdio.h>#include<stdlib.h>#include<string.h>#include<iostream>#include<vector>#include<string>#include<math.h>#include<map>#include<set>#include<algorithm>using namespace std;#define MAXN 10010int 阅读全文

posted @ 2012-09-26 16:13 more think, more gains 阅读(197) 评论(0) 推荐(0) 编辑

导航