会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
CHADLZX
新随笔
管理
上一页
1
···
8
9
10
11
12
13
14
15
16
···
26
下一页
2017年2月22日
BZOJ4199: [Noi2015]品酒大会
摘要: fail树的应用。 在fail树上找到所有长度子串的信息的话,用差分最后累加是个不错的选择。 这道题主要注意负数的处理。
阅读全文
posted @ 2017-02-22 08:02 CHADLZX
阅读(129)
评论(0)
推荐(0)
2017年2月21日
BZOJ2555: SubString
摘要: 这题写得我真想吐... 主要注意一个地方。 1.每次cut的时候,cut的一颗子树,而不是只有q这个节点。 说到底,还是没有对fail树的形态有一个清晰地认识,不过这道题写后就好很多。
阅读全文
posted @ 2017-02-21 20:21 CHADLZX
阅读(121)
评论(0)
推荐(0)
[HAOI2016]找相同子串
摘要: 这题感觉有点坑啊。 题目还是不难想的,先对一个字符串建后缀自动机,然后拿另一个字符串在上面跑。 假设当前跑到了p点,匹配长度为len。 那么当前会对答案产生贡献的串是哪些呢? 显然当前会对p及p到根的链产生贡献。这样显然可以用树形dp优化。 同时需要差分(我也不知道这是否是必须的)。 下面有upda
阅读全文
posted @ 2017-02-21 14:29 CHADLZX
阅读(222)
评论(0)
推荐(0)
BZOJ2806: [Ctsc2012]Cheat
摘要: 这道题思路很好出来,但是不是很好写(自己太弱的原因)。 将那M个串连起来,建一个后缀自动机。 二分L,变成判定问题。 然后对每个询问串,在后缀自动机上跑出以i位置结尾的最长长度,设为c[i]。 在之后我们要做的是在这种条件下,求出最大覆盖长度。 之后我思路出了点问题,我以为就是用[i-c[i]+1,
阅读全文
posted @ 2017-02-21 11:43 CHADLZX
阅读(107)
评论(0)
推荐(0)
bzoj3238 [Ahoi2013]差异
摘要: 后缀自动机秒题。 首先观察公式,发现它最难的地方在求所有后缀的LCP之和。 首先回想一下求两个后缀的LCP怎么搞? 先翻转原串,然后在fail树上找到它们的LCA,LCA节点的step值即为它们的最长公共前缀。 延续这个思路,将问题转化成,给定一颗树,每个节点上有一个权值,现在有很多特殊点,一对特殊
阅读全文
posted @ 2017-02-21 08:49 CHADLZX
阅读(113)
评论(0)
推荐(0)
Codeforces 235C. Cyclical Quest
摘要: 传送门 大致题意是给定一个字符串S,再给Q个询问,每次询问字符串Xi的循环同构在S中出现了多少次。 主要应该注意,若Xi串有循环节,那么对Xi进行匹配的时候会算重(即S中相同的子串多次被算入答案),解决方法是后缀自动机上打标记,若此节点没有被算过答案,则计算答案,否则跳过。
阅读全文
posted @ 2017-02-21 08:13 CHADLZX
阅读(103)
评论(0)
推荐(0)
2017年2月20日
poj 1743 Musical Theme【后缀自动机】
摘要: 不是很神的一道题,一般。 先差分,最后答案需要+1。 一个right集的len即为该right集的最长相同后缀,考虑到不能重复,所以处理一下该right集的最大与最小的ri,最后答案ans=max(ans,min(r[i]-l[i],len[i])) poj的g++比较恶心,卡空间,卡时间。 用c+
阅读全文
posted @ 2017-02-20 21:48 CHADLZX
阅读(116)
评论(0)
推荐(0)
SPOJ7258
摘要: 传送门 这题可以参考平衡树求第k大的过程,需要预处理一下从当前节点往下走能走出多少个子串。 原本准备存个图用反向的topsort,发现极为麻烦,看了别人的代码后发现,他们按step大小用了基排,省了很多麻烦。 仔细看了一下构造过程,貌似确实有这样的性质,后创建且step大的节点在fail树上处于儿子
阅读全文
posted @ 2017-02-20 19:40 CHADLZX
阅读(192)
评论(0)
推荐(0)
SPOJ8222
摘要: 传送门 输入一个字符串,要求输出长度为x的子串在字符串中的最多的出现位置。 后缀自动机,由于后缀自动机的每一个节点s的right集大小都表示子串最长为step s的数量, (而且长度在min(s)到max(s)之间的字符串出现次数必定相同,所以每次只需要更新step s,最后从大到小顺次cmax即可
阅读全文
posted @ 2017-02-20 18:35 CHADLZX
阅读(233)
评论(0)
推荐(0)
bzoj2946 [Poi2000]公共串
摘要: SAM模板题。 主要思路是,先对一个串建SAM,然后拿其他串在上面匹配,对单个串每个状态取最大的步数,对所有的串每个状态取最小步数。 循环的同时需要对fail树按topsort序更新最大值。 为什么要从fail树更新最大值?我的理解是,单个节点上记录的Max,Min等是结束位置属于此节点right集
阅读全文
posted @ 2017-02-20 15:56 CHADLZX
阅读(351)
评论(0)
推荐(0)
上一页
1
···
8
9
10
11
12
13
14
15
16
···
26
下一页