我觉得是 O(nlogn),但是 TLE*9。
#include <bits/stdc++.h>
using namespace std;
string s;
int n,l = 1,r = 1;
set<string>se;
string w;
int main() {
cin>>n>>s;
s = " "+s;
while(r<=n){
w+=s[r];
if(s[r]==s[l]) {
r++;
se.insert(w);
}
else r = l+1,l++,w = "";
}
cout<<se.size()<<endl;
return 0;
}