acwing那边数据不强,Y总模板放在这里会T,需要加一个小优化:
while(p) { ans+=cnt[p]; cnt[p]=0; p=ne[p]; }
变成:
while(p&&!vis[p]) { ans+=cnt[p]; cnt[p]=0; vis[p]=true; p=ne[p]; }
就是用vis记录单词有没有出现过,出现过就不用跳了。
acwing里有人已经说过这一点了,也就是Y总的板子不能直接放洛谷。但我要在这里也强调一遍,不让某些人浪费那么多时间调代码。