[TJOI2013]单词
2755: [TJOI2013]单词
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 6 Solved: 3
[Submit][Status][Web Board]
Description
Input
Output
Sample Input
3
a
aa
aaa
Sample Output
6
3
1
HINT
Source
求出fail树以后。。。
对每个串的每个节点打标记
然后输出每个串终点子树的标记个数和
#include<iostream>
#include<cstring>
#include<cstdio>
#define maxn 1000001
using namespace std;
int n,tot;
int sum[maxn],fai[maxn],son[maxn][],pos[],lis[maxn];
char s[maxn];
void insert(int x)
{
scanf("%s",s+);
int p=,nn=strlen(s+);
for (int i=; i<=nn; i++)
{
if (!son[p][s[i]-'a']) son[p][s[i]-'a']=++tot;
p=son[p][s[i]-'a'];
sum[p]++;
}
pos[x]=p;
}
void failed()
{
int head=,tail=; lis[]=; fai[]=-;
int a;
while (head<tail)
{
int now=lis[++head];
for (int i=;i<;i++)
{
if (son[now][i])
{
lis[++tail]=son[now][i];
a=fai[now];
while (a!=-&&!son[a][i]) a=fai[a];
if (a>=) fai[son[now][i]]=son[a][i];
else fai[son[now][i]]=;
}
}
}
for (int i=tail; i>=; i--)
sum[fai[lis[i]]]+=sum[lis[i]];
}
int main()
{
cin>>n; tot=;
for (int i=; i<=n; i++) insert(i);
failed();
for (int i=; i<=n; i++) printf("%d\n",sum[pos[i]]);
}
[TJOI2013]单词的更多相关文章
- BZOJ 3172: [Tjoi2013]单词 [AC自动机 Fail树]
3172: [Tjoi2013]单词 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 3198 Solved: 1532[Submit][Status ...
- 【BZOJ3172】[Tjoi2013]单词 AC自动机
[BZOJ3172][Tjoi2013]单词 Description 某人读论文,一篇论文是由许多单词组成.但他发现一个单词会在论文中出现很多次,现在想知道每个单词分别在论文中出现多少次. Input ...
- 3172: [Tjoi2013]单词
3172: [Tjoi2013]单词 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 3246 Solved: 1565[Submit][Status ...
- BZOJ 3172([Tjoi2013]单词-后缀数组第一题+RMQ)
3172: [Tjoi2013]单词 Time Limit: 10 Sec Memory Limit: 512 MB Submit: 268 Solved: 145 [ Submit][ St ...
- P3966 [TJOI2013]单词
P3966 [TJOI2013]单词 题目描述 小张最近在忙毕设,所以一直在读论文.一篇论文是由许多单词组成但小张发现一个单词会在论文中出现很多次,他想知道每个单词分别在论文中出现了多少次. 输入输出 ...
- 【洛谷】3966:[TJOI2013]单词【AC自动机】【fail树】
P3966 [TJOI2013]单词 题目描述 小张最近在忙毕设,所以一直在读论文.一篇论文是由许多单词组成但小张发现一个单词会在论文中出现很多次,他想知道每个单词分别在论文中出现了多少次. 输入输出 ...
- bzoj 3172: [Tjoi2013]单词 AC自动机
3172: [Tjoi2013]单词 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/pr ...
- BZOJ3172 [Tjoi2013]单词 【AC自动机】
3172: [Tjoi2013]单词 Time Limit: 10 Sec Memory Limit: 512 MB Submit: 4293 Solved: 2083 [Submit][Stat ...
- BZOJ3172 & 洛谷3966 [Tjoi2013]单词 【fail树】
3172: [Tjoi2013]单词 Time Limit: 10 Sec Memory Limit: 512 MB Submit: 4293 Solved: 2083 [Submit][Stat ...
随机推荐
- MySQL操作失误导致mysql数据库查看不了
使用 show databases; +--------------------+| Database |+--------------------+| information_ ...
- Linux设置某软件开机自动启动的方法
方法一 将启动命令写到系统启动时会自动调用的脚本中 echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d ...
- ubuntu server 11.10 安装 oracle 10g XE
1.将配置的Oracle源服务器的公钥添加在本地 apt 系统的密钥库中: wget http://oss.oracle.com/el4/RPM-GPG-KEY-oraclesudo apt-key ...
- 转:如何让LoadRunner实现多个场景运行?
场景分析: 有3个不同的场景,分别为搜索,下载,上传,其中3个场景执行顺序为按照搜索->下载->上传流程操作:哪么如何让Loadrunner中如何实现多个场景运行: 方法1:利用Loadr ...
- 高性能IO模型浅析(转)
转自:http://www.cnblogs.com/fanzhidongyzby/p/4098546.html 是我目前看到的解释IO模型最清晰的文章,当然啦,如果想要详细的进一步了解还是继续啃蓝宝书 ...
- linux服务器性能状态查看
vmstat结果内容的解释 Vmstat procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu---- ...
- MySQL 5.7 for Windows 解压缩版配置安装
从MYSQL5.7.6开始,安装MYSQL提示“请键入 NET HELPMSG 3534 以获得更多的帮助”的解决办法 今天安装MySQL提示如下错误: ----------------------- ...
- CentOS添加字体
到Windows XP或者Vista下复制字体到CentOS 1.到Windows XP或者Vista下复制字体到CentOS 雅黑:msyh 黑体:SimHei 宋体:SimSun 华文细黑:STX ...
- pm
如何不被程序员(RD)们嫌弃--写给那些血气方刚的产品经理(PM)http://www.36kr.com/p/212020.html 最近有位刚做 PM(产品经理)的小伙跑来跟我控诉,说公司技术部的 ...
- centos 安装FTP server详情(转)
centos 安装FTP server详情 分类: linux 2013-12-27 16:45 227人阅读 评论(0) 收藏 举报 我们这里以安装vsftpd 服务器端为例子: 1.进入到cent ...