哈希
字符哈希就是为字符添加一个数字编号
程序:
#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; }
原理:

浙公网安备 33010602011771号