跳到正文
信奥逐课

第 281 课

Rolling Hash

🟠 进阶 约 10 分钟

一句话理解

Rolling Hash 用前缀哈希 O(1) 取子串。

为什么要学

比较两个子串是否相等。

讲解

h(l,r)=pre[r]-pre[l-1]*P^{r-l+1}。注意模意义下减法和幂。

例子

和数字的前缀和同一思想,只是乘的是 P 的幂。

常见错误

练习 做完再看下一课

滚动哈希可以 O(1) 得到任意子串哈希。

进度保存在本机浏览器里。

左右方向键也可翻课