虽然很唐,但是有的AC自动机匹配的时候是这么写的
while(p) { ret+=tag[p],tag[p]=0; p=fail[p]; }
有一个优化是
while(p&&!vis[p]) { ret+=tag[p],tag[p]=0; vis[p]=true; p=fail[p]; }
记录一下如果这个词已经出现过的话就不用再往上跳了
然后就不T了喵