摘要: 最长公共子串...两个字符串连在一起,中间放一个特殊字符隔开。求出height之后,枚举height,看两个后缀是不是分布于两段字符串..如果是,这个值就可以作为答案。取最大值即可。 1 const maxn=200419; 2 var 3 c,h,rank,sa,x,y:array[0..... 阅读全文
posted @ 2014-12-19 17:42 Ecsy 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 这是一道神奇的题目..论文里面说得不清楚,其实是这样...如果一个长度为l的串重复多次,那么至少s[1],s[l+1],s[2*l+1],..之中有相邻2个相等...设这时为j=i*l+1,k=j+l,我们这时候借助SA和RMQ O(1)求出:m=lcp(j,k),这时候,重复次数至少ans=m ... 阅读全文
posted @ 2014-12-18 21:37 Ecsy 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 当时后缀数组没有好好学...各种应用都没学,这两天好好补,要把罗神的论文好好研究一遍...其实后缀数组真的好神奇!!特别是那个萌萌的height数组!今天终于能有两节完整的晚自修了QAQ...明晚还要去一彩,估计心态又没法像今晚那么稳定了...争取这星期能去复习AC自动机吧...嗯,忽然发现,自己一... 阅读全文
posted @ 2014-12-16 22:12 Ecsy 阅读(124) 评论(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 阅读(138) 评论(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 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 上次和黄神两人一合计,干脆我学字符串他学图论,然后两人相互教...但以蒟蒻最近这状态来看,估计会到时候也教不了QAQ 扩展KMP大概是下面这个课件讲的这样 http://wenku.baidu.com/view/8e9ebefb0242a8956bece4b3.html 然后需要注意的是初始化问题... 阅读全文
posted @ 2014-12-15 19:43 Ecsy 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 其实作为一名蒟蒻应该是没有资格来说这个的,而下午看了一系列的文章之后,我还是憋不住来写这篇东西。 感谢自家老妈,把这篇文章发到了我的手机上 http://www.d1net.com/fun/316010.html 一开始看到,我也是惊了一下,欧美已经开始工业革命4.0了? 粗略一翻,看到一... 阅读全文
posted @ 2014-12-14 17:09 Ecsy 阅读(409) 评论(0) 推荐(1) 编辑
摘要: 作为博客园的第一篇...我都不知道要写什么了 ...其实今天很没状态,就当吐槽吧...嗯,被黄神带去写treap+可持久化线段树,然后在可持久化的删除上面跪了两天,真的是一跪不起。我已经连续多久没有AC一道题了?有时候真心会觉得,学一些东西,到达差不多就应该先放手,一次性钻太深对自己没好处。其实之前... 阅读全文
posted @ 2014-12-11 21:34 Ecsy 阅读(182) 评论(1) 推荐(0) 编辑