问题
给定文本串和模式串,求的一个最长子串,使得其为重复其某个子区间的结果。
题解
KMP
对正向做一次的匹配,记录每个前缀尾部能匹配到的最长的前缀,记做。
对逆向做一次的匹配,记录每个后缀前部能匹配到的最长的后缀,记做。
如果,则可以更新答案。
时间复杂度
吐槽
其实这题代码很短,出题人和验题人都认为是Medium Easy或者Medium难度,但很奇妙的是内榜和外榜都一直没人做这题,校内吹了一堆F的气球没发出去。感觉榜有些歪?
虽然说题解是KMP,但实际过题方法众多。我的某个队友写了哈希+二分,另一个因为没带SAM板子干脆就没写,真是绝活。