AC自动机模版题:

方法一:超时
#include<iostream>
#include<algorithm>
#include<cstring>
#include<set>
#include<cstdio>
#include<queue>
#include<cstdio>
using namespace std;
const int maxx=2e5+10;
int vis[maxx];
int n,m;
queue<int>q;
int ks;
int tx[maxx];
struct Trie{int son[26];int fail;int flag;int num;void clear(){memset(son,0,sizeof(son));flag=fail=0;}
}trie[maxx];
int cnt;
void insert(char*s,int num){int len=strlen(s);int u=1;for(int i=0;i<len;i++){int v=s[i]-'a';if(!trie[u].son[v]){trie[u].son[v]=++cnt;}u=trie[u].son[v];}trie[u].flag=num;
}
void getFail(){for(int i=0;i<26;i++){trie[0].son[i]=1;}trie[1].fail=0;q.push(1);while(!q.empty()){int u=q.front();q.pop();int fail=trie[u].fail;for(int i=0;i<26;i++){int v=trie[u].son[i];if(!v){trie[u].son[i]=trie[fail].son[i];continue;}trie[v].fail=trie[fail].son[i];q.push(v);}}
}
void query(char* s){int len=strlen(s);int u=1;int ans=0;for(int i=0;i<len;i++){int v=s[i]-'a';int k=trie[u].son[v];while(k>1){if(trie[k].flag!=-1){vis[trie[k].flag]++;}k=trie[k].fail;}u=trie[u].son[v];}
}
void clear(){for(int i=0;i<=cnt;i++)trie[i].clear();memset(vis,0,sizeof(vis));cnt=1;
}
int main(){int count=1;while(scanf("%d",&n)){clear();char s[maxx];for(int i=1;i<=n;i++){scanf("%s",&s);insert(s,i);}getFail();int t;scanf("%d",&t);int res=0;int visited[maxx];memset(visited,0,sizeof(visited));for(int i=0;i<t;i++){int flag=0;scanf("%s",&s);memset(vis,0,sizeof(vis));query(s);ks=0;for(int i=1;i<=n;i++){if(vis[i]!=0){visited[i]=i;flag=1;}}memset(vis,0,sizeof(vis));for(int i=1;i<=n;i++){if(visited[i]!=0){vis[ks++]=i;}}if(flag==1){res++;sort(vis,vis+ks);cout<<"web "<<count++<<": ";for(int i=0;i<ks-1;i++){cout<<vis[i]<<" ";}cout<<vis[ks-1]<<endl;}}cout<<"total: "<<res<<endl;}return 0;
}

HDU2896(AC自动机模版题)相关推荐

  1. HDU2222(AC自动机模版题)

    AC自动机是Trie树和KMP的结合物,但是其实KMP在这里体现了思想,而Trie树才是最重要的,要想学懂AC自动机,学习Trie树是必须的,这些是自己在学习AC自动机的个人看法,我也是在网上学习了大 ...

  2. 数单词 (AC自动机模板题)

    数单词 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 为了能够顺利通过英语四六级考试,现在大家每天早上都会早起读英语. LYH本来以为自己在6月份的考试中可以通过六级, ...

  3. NYOJ 1085 数单词 (AC自动机模板题)

    数单词 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 为了能够顺利通过英语四六级考试,现在大家每天早上都会早起读英语. LYH本来以为自己在6月份的考试中可以通过六级, ...

  4. [Bzoj3940] [AC自动机,USACO 2015 February Gold] Censor [AC自动机模板题]

    AC自动机模板题(膜jcvb代码) 1 #include <iostream> 2 #include <algorithm> 3 #include <cstdio> ...

  5. hdu 2222 AC 自动机 模版(数组实现)

    AC 自动机 模版 原文匹配查找时讲错了,其他都挺好(原文博主知错懒得改 t个样例,n个单词,一个文本串,求文本串中单词出现的次数. 若给出单词ab,ab 文本ab,匹配数为2 若给出 n个不重复的单 ...

  6. HDU 2222 Keywords Search (AC自动机模板题)

    一组数据: 1 3 sss sss sss sss ans:3 #include <cstdio> #include <cstdlib> #include <vector ...

  7. UVA11019 Matrix Matcher【hash傻逼题】【AC自动机好题】

    LINK1 LINK2 题目大意 让你在一个大小为\(n*m\)的矩阵中找大小是\(x*y\)的矩阵的出现次数 思路1:Hash hash思路及其傻逼 你把一维情况扩展一下 一维是一个bas,那你二维 ...

  8. 一道叉姐的AC自动机鬼题

    题面描述丢失了... 给n个串模板串,然后再给你m个串,对于这m个串的每个串,问在[L,R]的模板串中,在多少个串中出现过; 这题的正解是对于后m个串建AC自动机,然后离线,在fail树上树链求并. ...

  9. 关键词匹配(Ac自动机模板题)

    2772: 关键词匹配 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 10  Solved: 4 [Submit][Status][Web Board ...

最新文章

  1. 不用深度学习,怎么提取图像特征?
  2. EDIUS输出到文件
  3. mysql占位符 防注入_PyMySQL防止SQL注入
  4. python opencv输出mp4_10分钟学会使用YOLO及Opencv实现目标检测
  5. c#ovalshape_【原创】C# 实现拖拉控件改变位置与大小(SamWang)(附源代码下载)
  6. 最大似然估计【MLE】与最大后验概率【MAP】
  7. Redhat或者Centos 手动安装sublime text 3
  8. 基于OpenCV实现------图像的转置
  9. java面试要点005---git和svn的区别
  10. 【机器学习】标准化和归一化辨析
  11. paip.JS的调试--DOM元素的属性与事件绑定
  12. python字典值求和_Python两个字典键同值相加的几种方法
  13. 关于JAVA输入输出流造成的Runtime线程阻塞问题【新人笔记】
  14. SVN下载安装、SVN使用详细教程(Window+Linux)
  15. Ubuntu 搭建强大的 IDE —— Vim + Vundle + 插件
  16. 学生个人html静态网页制作 基于HTML+CSS+JavaScript+jquery仿苏宁易购官网商城模板
  17. 腾创秒会达MHD-CHD40A 20倍光学变焦摄像机
  18. 计算机删除行快捷键,删除快捷键是什么?电脑删除快捷键有哪些?
  19. 微信支付开发准备工作和详细步骤
  20. 利用栈实现四则运算,带负数,带括号,带小数

热门文章

  1. Django站点管理、视图和URL(管理界面本地化、创建管理员、注册模型类、发布内容到数据库、定义视图、配置URLconf)
  2. ACMNO.8输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。 输入 一行字符 输出 统计值 样例输入 aklsjflj123 sadf918u324 asdf91u32
  3. Node2Vec:万物皆可Embedding
  4. 一个小改动,CNN输入固定尺寸图像改为任意尺寸图像
  5. 激光雷达(LiDAR)点云数据知多少?
  6. Android Studio第三十四期 - git企业级应用命令
  7. 维护表读写的权限对象
  8. 局域网怎样自动安装FLASH插件(浏览器不安装flashplayer都可以浏览.swf文件)
  9. 2010.2--netscreen ssg 140 恢复出厂设置的方法
  10. 物流企业信息化 准确定位应该如何做