JSOI 2016 扭动的字符串 题面描述 给出两个长度为\(n\)的字符串\(A,B\) \(S(i,j,k)\)表示把\(A\)中的\([i,j]\)和\(B\)中的\([j,k]\)拼接起来的字符串 问所有回文的\(S(i,j,k)\)或者\(A,B\)中的回文子串的最长长度 思路 枚举回文串的中心. 可以发现,如果能在当前字符串内扩展就尽量扩展,不能扩展了再尝试和另一个字符串匹配. 对于前者,使用\(manacher\)算法 对于后者,二分一个长度,用\(hash\)判断能否匹配. 以上…