码迷,mamicode.com
首页 > 其他好文 > 详细

Chelly的串串专题

时间:2018-12-03 00:46:07      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:需要   一个   多少   就是   专题   最小   建立   strong   str   

CF149E

题意:给出一个长度为n的文本串和m个模式串,求有多少个模式串可以拆成两半,使得这两半按顺序匹配(n<=2e5,m<=100)


最暴力的想法就是对于每个询问串,全部和原串做一遍kmp,求出每个前缀/后缀在原串中被匹配到的最前/最后位置,但这样对于每组询问都需要遍历文本串一遍
可以考虑对文本串建立SAM,对于每个节点我们可以求出其endpos中的最小值,然后对于每组询问串,直接在SAM上走即可
时间复杂度\(O(n+\sum |T| )\)

Chelly的串串专题

标签:需要   一个   多少   就是   专题   最小   建立   strong   str   

原文地址:https://www.cnblogs.com/wmrv587/p/10055940.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!