1212: [HNOI2004]L语言
来源:互联网 发布:怎样找淘宝客推广产品 编辑:程序博客网 时间:2024/05/22 10:36
题目链接
题解:
用trie,对于所有字典里的词建trie。
f[i]表示第i个字母是否已经匹配。
代码:
#include<cstdio>#include<cstdlib>#include<cstring>#include<algorithm>#include<iostream>using namespace std;const int N=(1<<20)+10;int n,m,tot=0;int sa[2010][100];char s[N];int len;bool tf[N];void ins(){len=strlen(s);int now=0;for(int i=0;i<len;i++){int yu=s[i]-'a';//printf("%d\n",yu);if(!sa[now][yu]) sa[now][yu]=++tot;now=sa[now][yu];}tf[now]=1;}int f[N];int work(int t){len=strlen(s+1);memset(f,0,sizeof(0));f[0]=t;int ans=0;for(int i=0;i<=len;i++){if(f[i]!=t) continue;else ans=i;for(int p=0,j=i+1;j<=len;j++){p=sa[p][s[j]-'a'];if(!p) break;if(tf[p])f[j]=t;}}return ans;}int main(){scanf("%d%d",&n,&m);memset(tf,0,sizeof(tf));memset(sa,0,sizeof(sa));for(int i=1;i<=n;i++){scanf("%s",s);ins();}for(int i=1;i<=m;i++){scanf("%s",s+1);printf("%d\n",work(i));}}
阅读全文
0 0
- 1212: [HNOI2004]L语言
- 1212: [HNOI2004]L语言
- BZOJ 1212: [HNOI2004]L语言
- bzoj 1212: [HNOI2004]L语言
- bzoj 1212: [HNOI2004]L语言
- bzoj 1212 [HNOI2004]L语言
- BZOJ 1212: [HNOI2004]L语言 AC自动机
- 【BZOJ】1212 [HNOI2004]L语言 Trie
- 【HNOI2004】L语言
- bzoj1212: [HNOI2004]L语言
- 【BZOJ1212】【HNOI2004】L语言
- [HNOI2004]Language L语言
- bzoj1212: [HNOI2004]L语言
- trie-[HNOI2004]L语言
- bzoj1212: [HNOI2004]L语言
- 【luogu2292】[HNOI2004]L语言
- [HNOI2004]L语言
- bzoj1212: [HNOI2004]L语言
- memset(this, 0, sizeof *this)
- C 语言中的文件操作函数
- 每日英语阅读(五十一)
- numpy 中数据选取和切片选取的区别
- golang匿名函数(闭包)
- 1212: [HNOI2004]L语言
- 2243: [SDOI2011]染色
- 今日头条|张一鸣:我遇到的优秀年轻人的5个特质
- js綁定快捷鍵
- dbutils和反射实现ORM问题整理
- C++文件流
- ios-swift基础
- 2764: [JLOI2011]基因补全
- composer方式安装thinkphp5