学习资料:IOI2009国家集训队论文——《后缀数组》
论文里面写的比较清晰了,但是代码里面没有解释,又从网上找到了一份代码的注释,解释的挺好的
地址:http://www.cnblogs.com/Lyush/p/3233573.html
这里是代码模板:
倍增算法实现的,效率很高。
const int maxn = 10010;
int wa[maxn], wb[maxn],...
分类:
编程语言 时间:
2015-01-22 13:23:37
阅读次数:
271
这几天多做一些字符串的题并进行总结, 争取可以对这一类的题有更深一层次的认知。 ^_^1) kmp2) ac自动机3) 字典树2) 后缀数组3)后缀自动机附manacher最小表示法
分类:
其他好文 时间:
2015-01-21 22:20:33
阅读次数:
192
题意:
那个输入中每个串先是一个长度然后才是串。
然后如果某猫姓名abcd·efgh,那么点名abc,bcd,fg等都是好使的,但是cde就不行。
然后输入姓名时格式为一行
a a个数,b b个数。
A表示姓,B表示名。
题解:
直接暴力枚举每个点名是哪些的子串,
然后我们发现可以用后缀数组来优化这个事情~~
时间复杂度是不准确的,也就是说可以被卡成TLE...
分类:
编程语言 时间:
2015-01-21 09:00:22
阅读次数:
187
寒假几天的集训来看,自己不会的算法还是很多_(:зゝ∠)_,还有一些暑假学的忘记了,想想整个大二上学期,也就学了一个网络流,一个AC自动机,一个后缀数组。寒假时间还是很充裕的,适合研究几个算法。就目前来看,自己唯一有优势的地方是代码能力稍微好一些,其他很多地方还是不如别人。。。【下面的完整知识目录来...
分类:
其他好文 时间:
2015-01-19 01:35:21
阅读次数:
233
SVT什么意思?
suffix virtual tree。
没有错!后缀虚树
好了,下面发一段以前的文字。
话说其实后缀数组分治能写,当时想shei了。
Vn:
啊,水题。
一看到“后缀”和这数据范围,肯定后缀数组、后缀自动机、后缀树走起!
然后我们可以轻松构造出来一个后缀树,然后每次询问树形DP随便乱搞就能过了。但是这个时候显然会TLE,所以我们可以尝试利用【...
分类:
其他好文 时间:
2015-01-17 18:07:00
阅读次数:
441
题目大意:求所有后缀长度减去LCP长度的二倍。
思路:之前用后缀数组写过,但是做法并不是很直观。现在学了后缀树再来写一次,这次思路就很清晰了。
首先我们把字符串按照倒序插入到后缀树中。形成的后缀树有一个很好的性质,连个后缀节点的LCA就是这两个后缀的LCP的位置,LCA的len值自然就是两个后缀的LCP。
建好树之后,进行一次树形DP,统计出来每两个后缀的LCP长度,计入总答案。
...
分类:
其他好文 时间:
2015-01-17 18:06:18
阅读次数:
221
月考果然很可怕,跪得要死。然后这周搞(被老师坑)去搞某个程序,我和蔡大神和kpm分工搞(结果最后我也只是变成全程嘴炮)。这周有点闷,明明想快乐点但还是……进度慢得要死,后缀数组略神的东西。模仿了罗大神写了个还挺快的版本。快点吧。下星期搞完在搞博弈论……gdkoi还剩不到40+天……!!!烧鸡说,你都...
分类:
其他好文 时间:
2015-01-16 23:38:13
阅读次数:
190
#include
#define maxn 100
int main()
{
int rank[maxn],height[maxn],sa[maxn]= {0,3,1,4,2},s[maxn]= {1,2,3,2,3};//s串可以看成abcbc
int i,j,k=0;
for(i=0; i
rank[sa[i]]=i;
for(i...
分类:
编程语言 时间:
2015-01-15 22:08:54
阅读次数:
257
题目链接:http://codeforces.com/problemset/problem/504/E题意:给出一棵树,每个结点上有一个字母。每个询问给出两个路径,问这两个路径的串的最长公共前缀。思路:树链剖分,记录每条链的串,正反都记,组成一个大串。记录每条链对应的串在大串中的位置。然后对大串求后...
分类:
编程语言 时间:
2015-01-15 19:58:21
阅读次数:
351
BZOJ rank1的解法~啊哈哈哈~
完全无需后缀数组~...
分类:
Web程序 时间:
2015-01-15 16:09:29
阅读次数:
175