哈希

字符哈希就是为字符添加一个数字编号

程序:

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e4;
char s[maxn]; 
const int p=13131;
const int mod=1e9+7;
int Hash[maxn];
int n;
int idx(char ch)
{
    return ch-'a'+1;
}
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        scanf("%s",s+1);
        int len=strlen(s+1);
        for(int j=1;j<=len;j++) Hash[i]=(1ll*Hash[i-1]*p+idx(s[i]))%mod;
        printf("%d\n",Hash[len]);
    }
    return 0;
}

原理:

 

posted @ 2022-06-18 20:04  王浩泽  阅读(68)  评论(0)    收藏  举报