首页 > 其他分享 >AC 自动机学习笔记

AC 自动机学习笔记

时间:2023-05-07 13:56:32浏览次数:45  
标签:AC trie ACAM texttt 笔记 字符串 自动机

前置知识:\(\texttt{trie}\) 树。不会的话到这篇博客看看吧。

前置知识:\(\texttt{kmp}\)。不会的话到这篇博客看看吧。

字符串好的题单。下面设所有字符串的大小之和为 \(|\Sigma|\)。

\(\texttt{AC}\) 自动机(也叫 \(\texttt{ACAM}\))

\(\texttt{ACAM}\) 时为了解决 \(\lceil\) 多个字符串在一个字符串上的匹配 \(\rfloor\) 的问题。设多个字符串为 \(S_1,S_2,\dots,S_n\),那一个字符串为 \(T\)。

如果暴力 \(\texttt{kmp}\) 的话复杂度为 \(|\Sigma||T|\),显然会爆炸。

我们把 \(S_1,S_2,\dots,S_n\) 建成一颗 \(\texttt{trie}\) 树。

比如这样,灰色是结尾。

标签:AC,trie,ACAM,texttt,笔记,字符串,自动机
From: https://www.cnblogs.com/HaHeHyt/p/17379227.html

相关文章

  • Mac-Kafka安装
    Mac-Kafka安装安装kafkabrewinstallkafka设置单机版本,修改监听端口vim/usr/local/etc/kafka/server.properties//修改listeners=PLAINTEXT://localhost:9092启动服务brewservicesstartzookeeperbrewservicesstartkafkaBroker配置常用配置zookeeper.conn......
  • SpringCloud gateway 元数据,超时,Netty Access Logs
    元数据spring:cloud:gateway:routes:-id:route_with_metadatauri:https://example.orgmetadata:optionName:"OptionValue"compositeObject:name:"value"iAmNu......
  • yazi框架学习笔记
    主线程监听和建立客户端的连接接收客户端的请求数据,创建一个任务,该任务携带请求数据,并把该任务放入任务队列告诉分发线程,有请求任务过来了,叫他赶紧去处理重复上面三个步骤注意:主线程不处理具体请求分发线程查看任务队列,看是否有请求任务?没有任务则继续睡觉,否则把任务取......
  • JFrog Artifactory 系列2 --- Https
    一、概念1.承上启下JFrogArtifactory系列1---安装与配置2.配置方式如果希望通过Https访问JFrogArtifactory,有三种配置方式:(1) 代理HTTPS方式:在代理软件(负载均衡软件)处配置TLS,代理软件与JFrogArtifactory的通信采用Http方式;(2) 全HTTPS方式:在代理软件(负载均衡软......
  • mac m1 安装tomcat
    macm1安装tomcat下载tomcatzip包https://tomcat.apache.org/download-90.cgi解压到某个目录/Users/benjie/software/apache-tomcat-9.0.74配置环境变量#tomcatconfigexportTOMCAT_HOME=/Users/benjie/software/apache-tomcat-9.0.74exportPATH=$PATH:$TOMCAT_HOME/......
  • 「学习笔记」双连通分量、割点与桥
    文章图片全部来自Oi-wiki,部分图片加以修改前面我们在学tarjan算法时,提到过强连通分量,即有向图上的环,那么无向图上是否也有强连通分量呢?很遗憾,没有但是,无向图有双连通分量!分为点双连通和边双连通(下面简称点双和边双)。边双连通分量概念在一张联通的无向图中,对于两个点\(x......
  • 茶文化笔记
    绪论茶文化概念“文化”是人类社会生活中提炼出来的,以精神领域为主要内容的成果。中国茶文化正是在中华民族持久茶饮活动中所提炼出来的具有中华民族特色的成果。茶形成茶文化的特殊性茶具有从物质文明到精神文明的特性茶的利用过程见证中国历史及各阶层茶文化:广义是指......
  • webpack的学习与使用(安装时以管理员身份运行)
    1、安装webpack2、测试是否安装成功3、写入相应代码之后,进行webpack打包自动新增一个文件夹:4、将bundle.js文件写入html页面打开浏览器查看结果:......
  • POJ2739 Sum of Consecutive Prime Numbers&&Acwing4938 连续质数之和
    方法:单调队列为什么是单调队列?因为这里让我们求连续的质数和,我们可以利用欧拉筛来维护质数,再利用单调队列来维护连续的质数。代码(POJ不支持C++11差评):#include<cstdlib>#include<cstring>#include<cstdio>#include<cctype>namespaceFastIo{ #definegcgetchar() #d......
  • Linux驱动开发笔记(一):helloworld驱动源码编写、makefile编写以及驱动编译基本流程
    前言  基于linux的驱动开发学习笔记,本篇是描述了一个字符驱动的基础开发流程,以便做嵌入式开发多年的应用或者系统学习驱动开发。 笔者自身情况  笔者拥有硬件基础,单片机软硬基础,linux系统基础等各种,就是没有linux驱动框架基础,未做过linux系统移植和驱动移植开发了......