有关AC自动机的fail树

前言

由于AC自动机fail的作用老是忘
在这里记录一下,以后复习也方便

正文

首先,再字典树上,每个点的fail,指向的就是和这个节点所表示的串拥有最长公共后缀的节点
这个的话,在建立完字典树以后,直接bfs就可以弄出来了
然后AC自动机的经典例题,就是询问x在y里面出现了多少次
我们先在字典树上面遍历y
然后路上的每一个点跳fail,如果能跳到x的结束节点就ans++

但是这样的话,多次询问不支持
于是我们可以把fail反着建出来,容易知道这是一棵树
那么x在y里面出现了多少次
就相当于询问x的结束点的子树里面有多少个节点是y经过的

dfs序随意维护一下就好了

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值