博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
P3796 【模板】AC自动机(加强版)
阅读量:5071 次
发布时间:2019-06-12

本文共 903 字,大约阅读时间需要 3 分钟。

#include
#include
#include
#include
#include
#include
using namespace std;const int N=1e6+5;const int M=2e4;int n;char t[N],p[155][75];int nxt[M][26];int id[M],fail[M],last[M];int now_node;struct ANS{ int id,cnt; bool operator < (const ANS &A) const { return cnt==A.cnt?id
A.cnt; }}Ans[155];void insert(char *s,int Id){ int len=strlen(s); int now=0,tmp; for(int i=0;i
que;void getfail(){ for(int i=0;i<26;++i) { if(nxt[0][i]) { que.push(nxt[0][i]); } } int now,tmp; while(!que.empty()) { now=que.front(),que.pop(); for(int i=0;i<26;++i) { tmp=nxt[now][i]; if(tmp) { fail[tmp]=nxt[fail[now]][i]; last[tmp]=id[fail[tmp]]?fail[tmp]:last[fail[tmp]]; que.push(tmp); } else nxt[now][i]=nxt[fail[now]][i]; } }}void query(char *s){ int len=strlen(s); int now=0; for(int i=0;i

 

转载于:https://www.cnblogs.com/lovewhy/p/9633565.html

你可能感兴趣的文章
strlen函数
查看>>
Java中的String,StringBuilder,StringBuffer三者的区别
查看>>
Python爬虫
查看>>
LDA
查看>>
轻量级Mysql Sharding中间件——Shark
查看>>
python的列表与shell的数组
查看>>
移动国家号(MCC)
查看>>
关于TFS2010使用常见问题
查看>>
软件工程团队作业3
查看>>
python标准库——queue模块 的queue类(单向队列)
查看>>
display的值有哪些?
查看>>
火狐、谷歌、IE关于document.body.scrollTop和document.documentElement.scrollTop 以及值为0的问题...
查看>>
基于Lucene3.5.0怎样从TokenStream获得Token
查看>>
一网打尽各类Java基本数据类型转换
查看>>
FlowLayout布局
查看>>
深入理解JVM读书笔记--字节码执行引擎
查看>>
vue-搜索功能-实时监听搜索框的输入,N毫秒请求一次数据
查看>>
批处理 windows 服务的安装与卸载
查看>>
React文档翻译 (快速入门)
查看>>
nodejs fs路径
查看>>