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

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

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

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

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

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

这里面讲述了为什么字符串哈希要选取质数作为模。也讲述了多种哈希策略及其对应的攻击方式。

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

上一篇:LeetCode-086-分隔链表


下一篇:越狱iphone命令行ssh无法连接问题解决