Tag: 法哈希

在Rabin-Karp滚动哈希

我正在尝试使用Rabin-Karp来寻找子串; 而且我被困在滚动哈希(试图使用维基百科中建议的公式 )。 #define MOD 1000000007 unsigned long long rolling_hash(const char *str) { unsigned long long hash = 0; size_t str_len = strlen(str); for(int i = 0, k = str_len -1; i < str_len; i++, k–) { hash = hash + str[i] * pow(257, k); // hash = hash % MOD; } return hash; } […]