【字符串】【哈希】ABC284F ABCBAC 题解

发布时间 2023-10-05 20:44:39作者: Pengzt

ABC284F

这题的正解是 \(Z\) 函数。

如果 \(str = T + T\) 的话,若可以找到连续的分别长为 \(n\) 的两段,且这两段可通过 \(1\) 次翻转变为相同的字符串,那么便一定有解,否则无解。

暴力判断是 \(\mathcal{O}(n)\) 的,时间复杂度直接上天。

可以用哈希 \(\mathcal{O}(1)\) 地判断出两个字符串是否相等。

但这题卡了自然溢出的哈希,所以要自己设定一个模数。

我用的是双哈希。

时间复杂度:\(\mathcal{O}(n)\)

评测记录