计算得到文本串(S)的后缀数组,给出模式串(P),可以通过二分,在(O(|T|log |S|))的时间复杂度内判断模式串是否在文本串中出现过
bool contain(string text,string pattern){
int n=text.length();
int m=pattern.length();
int l=0,r=n;
while(r>l){
int mid=(l+r)>>1;
if(text.compare(sa[mid],m,pattern)>=0){
r=mid;
}
else l=mid+1;
}
return text.compare(sa[r],m,pattern)==0;
}