这题的正解是 \(Z\) 函数。
如果 \(str = T + T\) 的话,若可以找到连续的分别长为 \(n\) 的两段,且这两段可通过 \(1\) 次翻转变为相同的字符串,那么便一定有解,否则无解。
暴力判断是 \(\mathcal{O}(n)\) 的,时间复杂度直接上天。
可以用哈希 \(\mathcal{O}(1)\) 地判断出两个字符串是否相等。
但这题卡了自然溢出的哈希,所以要自己设定一个模数。
我用的是双哈希。
时间复杂度:\(\mathcal{O}(n)\)
标签:题解,复杂度,ABCBAC,哈希,字符串,mathcal,ABC284F From: https://www.cnblogs.com/Pengzt/p/17743892.html