题意:判断两个子串是否相等 我们通过书可以知道:已知hash(s+t), hash(s), 那么就可以O(1)求出hash(t). 公式:hash(t) = hash(s+t)-hash(s)*p^t.length 所以处理完前缀hash值后,就可以通过上述方法来判断任意两个子串是否相等. #include <bits/stdc++.h> using namespace std; typedef unsigned long long uLL; const int P = 13331; const int maxn = 1e6+5; uLL value[maxn]; uLL plen...