后缀自动机简介(洛谷P3804)

后缀自动机是一种能够识别字符串所有后缀的最小化确定有限状态自动机。其构造利用了“后缀链接”思想,通过维护终点集合和最长子串长度等属性进行快速跳转。该自动机广泛应用于字符串处理,例如AC自动机的失配指针。构造过程中,通过检查字符和后缀链接动态建立节点和连接。
摘要由CSDN通过智能技术生成

后缀自动机简介

学习自这里

这里只是为了背板而写的简介

定义

对给定字符串s的后缀自动机是一个最小化确定有限状态自动机,它能够接收字符串s的所有后缀。

通俗点说,后缀自动机就是一种自动机废话 ,它能够识别字符串s的所有后缀(当然不只识别得到后缀),并且能实行快速跳转(比如AC自动机的失配指针)。然后就可以用它搞很多事情。

用途

自行百度吧。。。太多了。。。

思想及构造实现

AC自动机有一个失配指针实现跳转,而后缀自动机用的是一个叫“后缀链接”的东西。

首先定义endpos(x)表示x这个子串在s中出现的位置的集合(终点集合)。这里的位置指的是子串的最右端。

然后这个东西有这个性质:

考虑两个非空子集u,w(length(u)<=length(w))。它们的终点集合不相交,或者endpos(w)是endpos(u)的子集。

还有一个东西l[x]表示当前节点子串的最长长度。

那么x的后缀链接fa[x]满足 endpos(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值