不来也不去的一只失忆蝴蝶

曾迷途才怕追不上满街赶路人

动物园

题目大意两个字符串a和b,从a中选取一个非空子串,从b中选取一个非空子串,然后拼起来变成回文串,求这个回文串最大长度。SAM先做一遍manacher处理出从某个串某个位置出发最长回文串。 先把b反过来。 然后你注意到这个回文串一定可以表示成c+S+c,其中S是一个回文串,然后c是a或b中选出的...

2017-07-10 10:03:00

阅读数:219

评论数:0

子串

题目描述SA题朴素大概要个很高的复杂度。 想一个高端一点的暴力,可以只枚举两个后缀,对于这两个后缀任意前缀之间lcp可以列出数学式子,这个式子与这两个后缀的长度以及它们的lcp长度有关。 接下来我们知道lcp等于一段区间height的最小值。 因此写个sa,然后根据height建立笛卡尔树。...

2017-05-04 15:29:17

阅读数:283

评论数:0

子串

题目大意SA+莫队我们把所有字符串连起来,中间有分割符分开,然后求SA。 那么,一个子串所在第几个单词可以看以其为前缀的后缀包含了几个分隔符。 对于每个询问,我们二分找出在SA上的对应区间。于是,询问可以改成这样:求[l,r]权值在[x,y]的权值种类数。 可以用莫队做,用分块维护就可以消掉...

2016-09-18 21:46:49

阅读数:354

评论数:0

[SPOJ 687]字符串

题目大意求一个字符串中一个连续重复子串的最大重复次数。论文题首先枚举这个子串的长度l。 那么显然,它们一定要经过0,l,2l,3l,……之中至少一个点。 枚举这个观察点il,让后缀il与后缀(i+1)l求LCP,可以用SA完成,接着假设LCP为k,那么k/l+1这个答案是合法的(可以自己动手画...

2016-08-16 15:47:10

阅读数:298

评论数:0

后缀数组复习小记

前言学习了SAM为什么要学习SA?(没复习之前我就是传说中的只会SAM不会SA的蒟蒻) 因为有些问题SA可做SAM不可做。 (以下开始扯淡,大家可以跳过前言部分了…… 我还记得我上一次打SA是将近一年前的GDOI赛场上—— day1只考了50分的我对比同年级其他神犇十分失落。day2我开始...

2016-04-22 19:40:05

阅读数:444

评论数:0

[bzoj4516][SDOI2016]生成魔咒

题目大意初始有一个空串。每次在末尾添加一个字符(字符集是[1,1000000000]的数字),并询问当前有多少本质不同的子串。一眼SAM虽然字符集很大,但是可以map耶有木有。 n log n就可以过啦,还可以在线的很兹瓷嘛! 为了练习SA由于我是蒟蒻,所以这题我最终打的是第二眼看出来的算法—...

2016-04-22 19:07:21

阅读数:637

评论数:0

[bzoj4319]cerc2008 Suffix reconstruction

前言不要问我为什么要刷bzoj,因为我要日常%别的大神。题目大意给定sa,输出s,无解输出-1。贪心策略求出rank,然后枚举i,如果rank[sa[i-1]+1]>rank[sa[i]+1]则s[sa[i]]要大于s[sa[i-1]]否则可以相同。 于是构造即可。参考程序#include...

2016-01-20 20:53:00

阅读数:488

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭