
后缀数组
北屿小智障
喜欢有阳光的早晨
好像什么都可以重新再来。
展开
-
Codevs_P1500 后缀排序(后缀数组+基数排序)
Codevs传送门时间限制: 1 s 空间限制: 128000 KB 题目等级 : 大师 Master题目描述 Description 天凯是MIT的新生。Prof. HandsomeG给了他一个长度为n的由小写字母构成的字符串,要求他把该字符串的n个后缀(suffix)从小到大排序。何谓后缀?假设字符串是S=S1S2……Sn,定义Ti=SiSi+1……Sn。T1, T2, …, Tn就叫做S原创 2016-03-29 19:08:04 · 1007 阅读 · 0 评论 -
Tyvj_P1860 后缀数组(后缀数组模板题)
Tyvj传送门时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 我们定义一个字符串的后缀suffix(i)表示从s[i]到s[length(s)]这段子串。 后缀数组(Suffix array)SA[i]中存放着一个排列,满足suffix(sa[i])< suffix(sa[i+1]) 按照字典序方式比较 定义height[i]表示suffix(sa[原创 2016-03-30 10:45:20 · 938 阅读 · 0 评论 -
模板_后缀数组
#define N 200005int t1[N],t2[N],c[N];int sa[N],rk[N],ht[N];int n,m=27,len;int s[N];void sort(int *x,int *y){ for(int i=0;i<m;i++) c[i]=0; for(int i=0;i<n;i++) c[x[y[i]]]++; for(int i=1;原创 2016-03-30 10:45:59 · 372 阅读 · 0 评论 -
POJ_P2774 Long Long Message/Codevs_P3160 最长公共子串(后缀数组)
Codevs传送门 POJ传送门最长公共子串 时间限制: 2 s 空间限制: 128000 KB 题目等级 : 大师 Master题目描述 Description 给出两个由小写字母组成的字符串,求它们的最长公共子串的长度。输入描述 Input Description 读入两个字符串输出描述 Output Description 输出最长公共子串的长度样例输入 Sample Input原创 2016-03-30 14:13:58 · 487 阅读 · 0 评论 -
POJ_P3415 Common Substring(后缀数组+单调栈)
POJ传送门Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 9232 Accepted: 3066 DescriptionA substring of a string T is defined as:T(i, k)=TiTi+1…Ti+k-1, 1≤i≤i+k-1≤|T|. Given two strin原创 2016-03-30 19:11:38 · 439 阅读 · 0 评论 -
BZOJ_P4199 [NOI2015] 品酒大会(后缀数组+并查集)
BZOJ传送门一年一度的“幻影阁夏日品酒大会”隆重开幕了。大会包含品尝和趣味挑战两个环节,分别向优胜者颁发“首席品酒家”和“首席猎手”两个奖项,吸引了众多品酒师参加。在大会的晚餐上,调酒师 Rainbow 调制了 nn 杯鸡尾酒。这 nn 杯鸡尾酒排成一行,其中第 ii 杯酒 (1≤i≤n1≤i≤n) 被贴上了一个标签 sisi,每个标签都是 2626 个小写英文字母之一。设 Str(l,r)Str原创 2016-03-31 19:08:37 · 708 阅读 · 0 评论