字符串
文章平均质量分 77
Serene-shixinyi
这个作者很懒,什么都没留下…
展开
-
初学后缀数组
后缀数组就是把一个字符串的后缀排序,然后就可以再乱搞一些东东。 DC3看着就累,还是倍增好。 当初看代码觉得虽然不长但是理解起来并不容易,各种数组有各自的意义很容易搞混。 特别是要理解基数排序。每次按第二关键字排序再按第一关键字排序,可以保证在第一关键字相同时第二关键字的大小关系也正确。 白书上的数组有s(字符串)、sa、x、y、c,计算height还用到了rank。 我的代码是照着白书原创 2017-08-11 17:00:30 · 281 阅读 · 1 评论 -
初学manacher
求最长回文子串的有力工具。 按照一般的暴力判断方法,我们可以枚举每一个中点,然后从这个位置暴力向两边拓展。 但是实际上我们可以重复利用已经求得的信息,使期望复杂度接近O(n)。 我们设 rad[ i ] 表示以i为中心的回文串的长度的一半(向下取整),那么这个回文串的右端点就是 i+rad[i],左端点就是 i-rad[i]。 为了避免分类讨论回文串长度的奇数偶数的情况,我们在每两个点之间原创 2017-08-12 14:29:50 · 176 阅读 · 0 评论