```get_ans``` 有锅。
```int u=tre[u].ch[st[i]-'a'+1];``` 的 $u$ 改成函数内定义,然后再加个剪枝。
```cpp
void get_ans(string st){
int u=0;
for(int i=0;i<st.size();i++){
u=tre[u].ch[st[i]-'a'+1];
for(int j=u;j&&num[j];j=fail[j]){
ans+=num[j];
num[j]=0;
}
}
}
```
by gxxjqqiang @ 2024-03-12 19:11:59
@[laol](/user/292725)
by whoamIxxx @ 2024-03-12 22:01:15
@[gxxjqqiang](/user/351390) 感谢感谢
by laol @ 2024-03-13 11:29:48