博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ-3172: [Tjoi2013]单词 (AC自动姬 fail树)
阅读量:6148 次
发布时间:2019-06-21

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

3172: [Tjoi2013]单词

Time Limit: 10 Sec  Memory Limit: 512 MB
Submit: 4057  Solved: 1964
[][][]

Description

某人读论文,一篇论文是由许多单词组成。但他发现一个单词会在论文中出现很多次,现在想知道每个单词分别在论文中出现多少次。

Input

第一个一个整数N,表示有多少个单词,接下来N行每行一个单词。每个单词由小写字母组成,N<=200,单词长度不超过10^6

Output

输出N个整数,第i行的数字表示第i个单词在文章中出现了多少次。

Sample Input

3
a
aa
aaa

Sample Output

6
3
1

HINT

 

Source

这题把fail指针逆向形成了一个叫fail树的东西  fail树的父亲结点一定是儿子节点的子串!!!

1 #include "bits/stdc++.h" 2 using namespace std; 3 typedef long long LL; 4 const int MAX=1000006; 5 int n; 6 struct Aho{ 7     struct state{ 8         int next[26]; 9         int cnt,fail;10         state (){11             memset(next,0,sizeof(next));12             cnt=fail=0;13         }14     }sst[MAX];15     16     int q[MAX],low,high,tot,size,end[205],sum[MAX];17     18     void init(){19         int i,j;20         low=1,high=tot=size=0;21         memset(sum,0,sizeof(sum));22     }23     24     void insert(char *s){25         int i,j,ls=strlen(s);26         int now=0;27         for (i=0;i

 

转载于:https://www.cnblogs.com/keximeiruguo/p/7354152.html

你可能感兴趣的文章
《图解HTTP》1~53Page Web网络基础 HTTP协议 HTTP报文内的HTTP信息
查看>>
unix环境高级编程-高级IO(2)
查看>>
树莓派是如何免疫 Meltdown 和 Spectre 漏洞的
查看>>
雅虎瓦片地图切片问题
查看>>
HTML 邮件链接,超链接发邮件
查看>>
HDU 5524:Subtrees
查看>>
手机端userAgent
查看>>
pip安装Mysql-python报错EnvironmentError: mysql_config not found
查看>>
http协议组成(请求状态码)
查看>>
怎样成为一个高手观后感
查看>>
[转]VC预处理指令与宏定义的妙用
查看>>
JQuery radio单选框应用
查看>>
MySql操作
查看>>
python 解析 XML文件
查看>>
MySQL 文件导入出错
查看>>
java相关
查看>>
由一个异常开始思考springmvc参数解析
查看>>
用ASP.NET Core 2.0 建立规范的 REST API -- 预备知识
查看>>
Pandas时间序列
查看>>
开发者论坛一周精粹(第四十八期) ICP经营许可证办理流程
查看>>