序列自动机

序列自动机简介

序列自动机接受且仅接受一个字符串的所有子序列。

设这个字符串为 s,字符集 Σ={0,1,,|Σ|1}

序列自动机上有 |s|+1 个状态 start,1|s|。状态 i 可以表示以 si 为结尾的子序列。

转移 δ(u,c) (cΣ)u 后下一个等于 c 的位置。

于是它形成了一个 DAG,且边数恰好为 (|s|+1)|Σ|

如果一个状态的一种转移不存在,就把它连到一个不存在的状态,走到这个状态时就不能接受。

然后没了,结构比较简单。

作者:alan-zhao-2007

出处:https://www.cnblogs.com/alan-zhao-2007/p/subseq-automaton.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   Alan_Zhao_2007  阅读(90)  评论(0编辑  收藏  举报
编辑推荐:
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
阅读排行:
· “你见过凌晨四点的洛杉矶吗?”--《我们为什么要睡觉》
· 编程神器Trae:当我用上后,才知道自己的创造力被低估了多少
· C# 从零开始使用Layui.Wpf库开发WPF客户端
· 开发的设计和重构,为开发效率服务
· 从零开始开发一个 MCP Server!
点击右上角即可分享
微信分享提示
more_horiz
keyboard_arrow_up dark_mode palette
选择主题