struct hash{
const int P = 1313131; int n,mod,f[N],p[N]; char str[N];
inline int calc(int l,int r) {
return (1ll * f[r] - 1ll * f[l-1] * p[r - l + 1] % mod + mod) % mod;
}
inline void init(int Mod,char s[]){
mod = Mod; n = strlen(s); for (int i = 0; i < n; i++) str[i] = s[i];
p[0] = 1;
for (int i = 1; i <= n; i++) {
p[i] = 1ll * p[i-1] * P % mod;
f[i] = (1ll * f[i-1] * P + (s[i-1] - 'a')) % mod;
}
}
};
【模板】字符串哈希
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
上一篇:Java字符串与方法区
下一篇:ES6中js中的模板字符串
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
P3370 【模板】字符串哈希
传送门 题目大意 求n个字符串不同的个数 题解 hash模板 1LL强制转换成long long 代码
#include i++ #define ios 字符串