摘要: 当时后缀数组没有好好学...各种应用都没学,这两天好好补,要把罗神的论文好好研究一遍...其实后缀数组真的好神奇!!特别是那个萌萌的height数组!今天终于能有两节完整的晚自修了QAQ...明晚还要去一彩,估计心态又没法像今晚那么稳定了...争取这星期能去复习AC自动机吧...嗯,忽然发现,自己一... 阅读全文
posted @ 2014-12-16 22:12 Ecsy 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 求最长回文串。把原串翻转后,加在原串后面,中间插入一个辨别字符。然后求SA,Height。然后枚举每个字母作为回文串中心,分长度为奇数和偶数去讨论:奇数求 suffix(i)和suffix(n-i+1)的最长公共前缀,偶数则求suffix(i)和suffix(n-i+2)(当然,i=1时不成立) 。... 阅读全文
posted @ 2014-12-16 22:04 Ecsy 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 求不相同子串个数 该问题等价于求所有后缀间不相同前缀的个数..也就是对于每个后缀suffix(sa[i]),将贡献出n-sa[i]+1个,但同时,要减去那些重复的,即为height[i],故答案为n-sa[i]+1-height[i]的累计。const maxn=1419;var x,y,rank... 阅读全文
posted @ 2014-12-16 21:59 Ecsy 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 求重复k次的最长重复子串,解法见罗穗骞大神的后缀数组论文 1 const maxn=100419; 2 3 var 4 x,y,rank,sa,h,s,num,c:array[0..maxn] of longint; 5 n,time:longint; 6 7 functi... 阅读全文
posted @ 2014-12-16 20:23 Ecsy 阅读(155) 评论(0) 推荐(0) 编辑