码迷,mamicode.com
首页 >  
搜索关键字:后缀数组    ( 1340个结果
后缀数组学习
快排的代码很容易理解。1intsa[MAX],temp[MAX],rank[MAX];2intn,k;3boolcmp_sa(inti,intj){4if(rank[i]!=rank[j])returnrank[i]<rank[j];5else{6intri=i+k<=n?rank[i+k]:-1;...
分类:编程语言   时间:2014-12-12 10:09:29    阅读次数:196
BZOJ 2754 SCOI 2012 喵星球上的点名 后缀数组
题目大意:在喵星球上有一些喵~,每个喵都有一个姓和一个名字。点名的时候如果一个喵中姓或者名中有这个串的话他就会喵。问每次点名有几个喵喵了,和每个喵喵了几次。 思路:好萌的题喵~ AC自动机构造fail树是可以做的,但是和SA乱搞的时间差不多,我就是SA乱搞的w 把所有的串(姓名,询问)用$连接成一个串,然后做后缀数组,height数组。过程中记录一下每一个后缀数属于哪个喵,还有询问在...
分类:编程语言   时间:2014-12-10 10:50:36    阅读次数:229
BZOJ 3172 Tjoi2013 单词 fail树
题目大意及后缀数组做法见 http://blog.csdn.net/popoqqq/article/details/41042473 原来正解是fail树……难怪后缀数组被卡成这样 首先我们将给出的n个串构建AC自动机 朴素的做法是对于每个串将这个串每个节点沿着fail指针扫一遍,将路径上的所有点的cnt++ 但是这样做会TLE 我们不妨反向思考 fail指针反向后是一棵树 沿着fail...
分类:其他好文   时间:2014-12-08 21:29:02    阅读次数:203
POJ 3261 USACO 2006 December Gold Milk Patterns
题目大意:给出一个字符串,求出出现过k次以上的最长的子串(可重叠). 思路:现弄出来sa数组和height数组,之后就是判断每个长度为k的height数组的区间中最小的数字的最大值了.为什么好多人都二分了?这只要单调队列扫一次就行了啊.. CODE: #include #include #include #include #include #define M...
分类:其他好文   时间:2014-12-08 13:57:55    阅读次数:134
后缀数组学习笔记【详解|图】
后缀数组学习笔记——详解,debug代码、手动模拟过程,一定能看懂...
分类:编程语言   时间:2014-12-06 19:35:35    阅读次数:213
POJ 2774 Long Long Message 后缀数组
题目大意:给出两个字符串,求出这两个字符串的最长公共序列。 思路:把两个字符串合成一个,然后跑一次后缀数组,求出rank数组和height数组,之后验证是否rank临近的两个后缀在不同的串里,如果是的话就更新答案。 CODE: #include #include #include #include #define MAX 2000100 using namespa...
分类:编程语言   时间:2014-12-05 15:31:09    阅读次数:185
BZOJ 1031 JSOI 2007 字符加密Cipher 后缀数组
题目大意:给出一个字符串,循环字符串的起始位置,可以得到length个不同的字符串,问把这些字符串排序之后每一个字符串的第一位是什么。 思路:后缀数组裸题,只需要将整个字符串倍增,然后求一次sa。 CODE: #include #include #include #include #define MAX 200010 using namespace std; c...
分类:编程语言   时间:2014-12-05 10:55:44    阅读次数:184
poj 3693 后缀数组求重复次数最多的连续重复子串
#include#include#include#include#include#include#include#include#include#include#include#include#define rep(i,n) for(int i=0;i=a;--i)#define PB push_b...
分类:编程语言   时间:2014-11-30 13:40:21    阅读次数:241
初学后缀数组
后缀排序DescriptionTim正在自学《数据结构》,他刚刚学会如何比较两个字符串大小。书上是这么说的(和Pascal语言中的比较规则相同,学习过Pascal语言的同学可以跳过这段):比较两个不同字符串s1=’p1p2p3…pN’和s2=’q1q2q3…qM’的大小,设Nqi,且i最小;若pis...
分类:编程语言   时间:2014-11-26 20:44:31    阅读次数:250
后缀数组模板(理解)
字符串的处理真可谓是博大精深,后缀数组这种数据结构我花了两天时间才明白了其构造的过程。主要是代码不好理解。 数据结构: 1.sa数组,就是后缀数组,按照字典序排列,其意义为:sa[i]=k,排第i名的子串是从k位开始的。 2.rank名次数组,其意义为:rank[i]=k,以i为起点的子串排名为k。 很容易看出来两者可以相互转化。 求这两个数组的过程是基于基数排序,计数排序的方法。 下...
分类:编程语言   时间:2014-11-22 12:07:41    阅读次数:199
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!