【后缀自动机】CodeForces 235C Cyclical Quest

通道:http://codeforces.com/problemset/problem/235/C

题意:给一个字符串S,再给一个字符串T,设T的长度为len,问T的循环串在S中出现的次数

思路:对母串建立SAM,然后把T * 2在SAM上匹配,维护一个匹配长度。然后记得看一下当前这个串是否属于点p,也就是if l[fa[p]]>=len(T) then p = fa[p];

 

代码:https://github.com/Mithril0rd/Rojo/blob/master/cf235c.cpp

TAG:CLJ出品

posted @ 2014-10-17 21:05  mithrilhan  阅读(166)  评论(0编辑  收藏  举报