22:13:59 2015-11-05
结构体 HASH,贴在这~
struct Hash{ ll B,mod,len,Has[200005],Base[200005]; void init(char *s,LL _len,LL _B,LL _mod){ B=_B; mod=_mod; len=_len; Base[0]=1; Has[0]=0; for (LL i=1;i<=len;i++){ Base[i]=Base[i-1]*B%mod; Has[i]=(Has[i-1]*B+s[i-1]+1)%mod; } return; } ll gethash(ll l,ll r){ return ((Has[r]-Has[l-1]*Base[r-l+1])%mod+mod)%mod; } };
本文介绍了一种基于结构体的HASH实现方法,通过具体的代码示例详细解释了如何初始化HASH结构并计算字符串的HASH值。该方法适用于字符串匹配及数据校验等场景。
1万+

被折叠的 条评论
为什么被折叠?



