博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
后缀数组模板 UOJ#35. 后缀排序
阅读量:6826 次
发布时间:2019-06-26

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

从梓轩学姐提交记录那里搞来的,简单易懂,没有那些奇奇怪怪的东西...

#include
#include
const int MAXN=100000,D=50;int n,str[MAXN+D];int sa[MAXN+D],rank[MAXN+D],height[MAXN+D];int p[MAXN+D],temp[MAXN+D],cnt[MAXN+D];inline bool equ(int x,int y,int l){return rank[x]==rank[y]&&rank[x+l]==rank[y+l];}void init(){ char ch=getchar(); while(ch>='a'&&ch<='z')str[n++]=ch-'a',ch=getchar();}void doubling(){ str[n]=rank[n]=-1; for(int i=0;i
=l)p[pos++]=sa[i]-l; memset(cnt,0,sizeof cnt); for(i=0;i
=0;i--)sa[--cnt[rank[p[i]]]]=p[i]; for(temp[sa[0]]=pos=0,i=1;i

  

转载于:https://www.cnblogs.com/mybing/p/8481769.html

你可能感兴趣的文章
Efficiently traversing InnoDB B+Trees with the page directory--slot
查看>>
算法笔记_191:历届试题 大臣的旅费(Java)
查看>>
乐为物联网平台初步体验(1)
查看>>
利用ArcGIS水文分析工具提取河网
查看>>
看58同城9月招聘季 大数据显示蓝领薪酬更高
查看>>
跳台阶
查看>>
栈1--出栈序列
查看>>
原码 补码
查看>>
ListView setOnItemClickListener无效原因分析
查看>>
DD测磁盘读写性能
查看>>
CUDA编程(六)进一步并行
查看>>
UML类图和时序图
查看>>
C#中的Form,textBox,Bitmap,PictureBox,Button,WebBrowser
查看>>
Oracle Restart能够用来给Oracle GoldenGate 做 High Availability 使用么?
查看>>
css 五角星 (转)
查看>>
python—networkx:在一张图中画出多个子图
查看>>
Java 泛型 一
查看>>
Linux 系统lsblk和blkid命令
查看>>
SNF快速开发平台MVC-表格单元格合并组件
查看>>
laravel 如何引入自己的函数或类库
查看>>