字符串hash
//字符串s长度从1~len
char s[100000];
unsigned long long h[100000];
unsigned long long q[100000];//q[i]表示base的i次方
int base=131;//一般为131,ull自动取模
for (int i = 1; i <= len; i++)
{
h[i] = h[i - 1] * base + s[i] - 'a' + 1;
q[i] = q[i - 1] * base;
}
//求[l,r]之间字符串的哈希值
ans=h[r]-h[l-1]*q[r-l+1];