【字符串】字符串多项式哈希 - 第2节

昨天看群里讨论哈希使用自然溢出被卡的问题,突然想到一个问题,就是为什么需要使用双模去做字符串哈希才能有效保证正确率呢?

把n个元素放进m个桶里面,不发生冲突的概率:

\[P = e^{\frac{-n(n-1)}{2m}) \]

求解这个式子可以得知,要求正确率达到1e-9级别的话,m大概需要n的平方的量级。但是经常发现1e9的取模会被卡,应该是有办法故意构造一些字符串让他冲突。

https://codeforces.com/blog/entry/60442

这里面讲述了为什么字符串哈希要选取质数作为模。

上一篇:卡特兰数例题


下一篇:无向图的最小环问题