poj(2774)后缀数组法求公共连续…
来源:互联网 发布:linux远程桌面工具 编辑:程序博客网 时间:2024/06/04 19:08
题目原意:输入两个字符串,求最长的连续公共子串的长度;
看了好长时间时间这个题,要用到后缀数组,于是下了个模板基数排序求后缀数组AC的。将两个字符串连接起来(模板里的基数排序求后缀数组要用int型,so将每个字符转换成整形),为了使得出现最长的公共子串在前后两部分里面,所以中间加个不可能出现的值(随意);然后将求最长公共子串(同时要判断的是公共子串的开头是否在两个区域OK了)。
#include<iostream>
#include<string>
using namespace std;
const int MAX = 200100;
int n, num[MAX];
int sa[MAX], rank[MAX],height[MAX];//sa[i]表示排名第i的后缀的位置,height[i]表示后缀SA[i]和SA[i-1]的最长公共前缀
int wa[MAX], wb[MAX], wv[MAX], wd[MAX];//基数排序模板不要修改
int cmp(int *r, int a, int b, int l)
{
}
void da(int *r, int n, int m) // 倍增算法0(nlgn)。
{
}
void calHeight(int *r, int n) // 求height数组。
{
}
int main()
{
}
0 0
- poj(2774)后缀数组法求公共连续…
- 【后缀数组求最长公共子串】POJ 2774
- POJ 2774 后缀数组:求最长公共子串
- poj 2774求两个串的公共前缀 后缀数组
- POJ 2774 Long Long Message(后缀数组求最长公共子串,4级)
- POJ 2774 Long Long Message 求两个串最长公共子串(后缀数组)
- POJ 题目2774 Long Long Message(后缀数组,求最长公共子串长度)
- POJ 2774 Long Long Message (后缀数组求最长公共子串)
- PKU 2774(后缀数组求最长公共子串)
- POJ 2406 后缀数组:求连续重复子串
- poj 2217 后缀数组求最长公共子串
- poj 2774 后缀数组(最长连续子串)
- POJ 2774 (最长公共子串)后缀数组+二分
- HDU 1403 & POJ 2774 Longest Common Substring (后缀数组啊 求最长公共子串 模板题)
- poj 2774 求两字符串的最长公共子串 后缀数组
- poj 2774 Long Long Message,后缀数组,求最长公共子串 hdu1403
- POJ 2774 long long message(后缀数组求最长公共子串)
- POJ 2774 Long Long Message 后缀数组求最长公共子串
- prim算法(poj1789)
- poj2075并查集加堆实现的克鲁…
- 经典RMQ(poj3264)
- “晓晓,快点起床哦,上课该迟到了。
- Android中Textview显示带html文本
- poj(2774)后缀数组法求公共连续…
- poj1330LCA问题
- poj1862(哈夫曼数)
- poj1456(贪心加并查集)
- poj3399(简单数学)
- poj2955(括号匹配DP)
- 西工大ACM校赛题解
- poj3974(最长回文串)(Manacher算法)
- poj1159(回文串)