字符串哈希

const int bs=233, P=998244353;
int hsh(string x) {
	int val=0, mul=1;
	for(int i=0; i<x.size(); ++i) {
		if('0'<=x[i]&&x[i]<='9') val=(val+mul*(x[i]-'0')%P)%P;
		if('a'<=x[i]&&x[i]<='z') val=(val+mul*(x[i]-'a'+10)%P)%P;
		if('A'<=x[i]&&x[i]<='Z') val=(val+mul*(x[i]-'A'+36)%P)%P;
		mul=mul*bs%P;
	}
	return val;
}
posted @ 2023-08-12 22:57  Hypoxia571  阅读(1)  评论(0编辑  收藏  举报