博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【FOJ】2075 Substring
阅读量:5339 次
发布时间:2019-06-15

本文共 1015 字,大约阅读时间需要 3 分钟。

1 #include
2 #include
3 #include
4 using namespace std; 5 #define MAXN 100010 6 #define MAXM 20 7 char s[MAXN]; 8 int wa[MAXN],wb[MAXN],wv[MAXN],ws[MAXN]; 9 int sa[MAXN],height[MAXN],rk[MAXN]; 10 int st[MAXM][MAXN],log2[MAXN]; 11 inline bool cmp(int *r,int a,int b,int L) 12 { 13 return r[a]==r[b]&&r[a+L]==r[b+L]; 14 } 15 void SA(int n,int m) 16 { 17 int i,j,p,*x=wa,*y=wb,*t; 18 for(i=0;i
=0;i--) 25 sa[--ws[x[i]]]=i; 26 for(j=p=1;p
<<=1,m=p) 27 { 28 for(p=0,i=n-j;i
=j) 33 y[p++]=sa[i]-j; 34 } 35 for(i=0;i
=0;i--) 42 sa[--ws[wv[i]]]=y[i]; 43 for(t=x,x=y,y=t,x[sa[0]]=0,p=i=1;i
=(1<
j) 82 swap(i,j); 83 i++; 84 int k=log2[j-i+1]; 85 return min(st[k][i],st[k][j-(1<
n) 93 break; 94 t=LCP(sa[i],sa[i+k-1]); 95 if(t>height[i]&&(i+k>n||i+k<=n&&t>height[i+k])) 96 { 97 for(j=sa[i];j

转载于:https://www.cnblogs.com/DrunBee/archive/2012/07/11/2586900.html

你可能感兴趣的文章
Android开发中 .9.png格式图形设计:
查看>>
Linux常见命令
查看>>
ASP.NET Page执行顺序如:OnPreInit()、OnInit()
查看>>
linux下编译安装nginx
查看>>
adb命令
查看>>
SQL自定义排序 ORDER BY
查看>>
Modal模态框scrolltop保留上次位移的解决方案
查看>>
python 函数(一)
查看>>
我说我在总结谁会信。。
查看>>
数据库索引的作用和长处缺点
查看>>
Laravel 安装代码智能提示扩展「laravel-ide-helper」
查看>>
java开发配套版本
查看>>
MySQL的 Grant命令权限分配
查看>>
非阻塞的c/s,epoll服务器模型
查看>>
YII框架安装过程总结
查看>>
HDOJ(HDU) 1862 EXCEL排序(类对象的快排)
查看>>
Codeforces Round #381 (Div. 2) 复习倍增//
查看>>
Money类型转化为String去除小数点后0解决方法
查看>>
ArcScene 高程不同的表面无法叠加
查看>>
[ONTAK2010] Peaks
查看>>