最近学了 Trie 树,打了个板子 P5755,但是发现厌氧了。
#include<bits/stdc++.h>
#define int long long
using namespace std;
char s[6500];
int cnt;
int vis[500010];
int nxt[500010][30];
int len;
long long all=0;
inline void insert(char *s,int lens){
int p=0;
for(int i=0;i<lens;i++){
int c=s[i]-'a';
if(nxt[p][c]==0){
nxt[p][c]=++cnt;
}
p=nxt[p][c];
}
vis[p]=1;
return;
}
signed main(){
while(cin>>s){
len=strlen(s);
insert(s,len);
}
cout<<cnt+1;
return 0;
}
C++14能过,开 O2 不能。
求大佬们分享一下有关调厌氧代码的经验/这篇代码厌氧的原因,谢谢。