@Learningstatsbyexample 2^31-1对于许多应用程序来说是一个很好的选择。您可以使用64位算术可移植地进行乘法,并且模运算可以进行优化以避免除法(您的编译器可能能够为您执行此操作,例如,我的笔记本电脑上的clang发出没有除法操作的汇编代码)。 - David Eisenstat
你需要为Rabin Karp优化采取的逆模块数不会溢出吗? - Union find
@Learningstatsbyexample 逆模数是介于1和n-1之间的一个数字,所以我不确定为什么会发生这种情况。 - David Eisenstat
好的,我找到了问题所在。如果p值很高,你可能会在滚动哈希中得到负数。因此,将p(或p ** base的最大值)进行缩放是有意义的。https://youtu.be/w6nuXg0BISo?t=1984 - Union find