摘要:
SPOJ_705 历经好几天学习倍增算法的折磨,现在终于能够自己把倍增算法的代码敲出来了。 对于倍增算法的代码的一些解释可以参考我的另一篇文章:http://www.cnblogs.com/staginner/archive/2012/02/02/2335600.html 这个题目关键在于要认识到任何一个子串都必然是某一个后缀的前缀,对于任意一个后缀i,它能够贡献出的新的子串的数目等于n-i-height[rank[i]]。其中n-i是其所有的子串的数目,其中由于它和排名前一位的字符串有height[rank[i]]个字符的公共前缀,因此其中有height[rank[i]]个子串是和前面... 阅读全文
posted @ 2012-02-02 17:51
Staginner
阅读(548)
评论(0)
推荐(0)
摘要:
一开始看“小罗”写的论文和模板真的云里雾里,理解起来十分困难,后来结合一个百度贴吧里面的学习笔记总算是把倍增算法的代码的意思搞懂了,于是后面自己也写了一份对“小罗”倍增算法代码的注释,希望能对各位正在学习后缀数组的同僚带来一点帮助。 另附上百度贴吧那篇文章的链接:http://tieba.baidu.com/f?kz=754580296int wa[maxn],wb[maxn],wv[maxn],ws[maxn];int cmp(int *r,int a,int b,int l){return r[a]==r[b]&&r[a+l]==r[b+l];} //就像论文所说,由于末尾 阅读全文
posted @ 2012-02-02 12:18
Staginner
阅读(13556)
评论(6)
推荐(19)
浙公网安备 33010602011771号