【后缀自动机】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:前缀中缀后缀