【后缀自动机】CodeForces 127D Password

通道:http://codeforces.com/problemset/problem/127/D

题意:求一个字符串S的最长子串,使得它同时是S的前缀,后缀和中缀

思路:建立SAM,拓扑一下然后从前往后匹配,判断前缀和后缀相等只需要str[i]==str[n]&&r[j]==len就可以,问题在于怎么判断中缀呢,后来发现只要统计这个当前匹配的这个串出现的次数大于3即可。

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

TAG:前缀中缀后缀

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