hash板子

一维哈希

char s[N]
int f[N], fac[N];
int gethash(int l, int r) {
	return ((f[r]-(ll)f[l-1]*fac[r-l+1])%P+P)%P;
}
int main() {
	scanf("%s", s);
	REP(i,1,n) fac[i]=233ll*fac[i-1]%P;
	REP(i,1,n) f[i]=(f[i-1]*233ll+s[i]-'A'+1)%P;
}

二维哈希

猜你喜欢

转载自www.cnblogs.com/uid001/p/10865191.html