bzoj1212 L语言 trie
来源:互联网 发布:mac 浅色文件夹打不开 编辑:程序博客网 时间:2024/05/29 06:49
这题本来是想用AC自动机做的,结果发现好水啊,直接上那个trie都能过,,就是每一个单词去匹配那个文章。。。跑的还更快。。
#include<cstdio>#include<cmath>#include<cstring>#include<iostream>#include<algorithm>#define fo(i,a,b) for(int i=a;i<=b;i++)#define fd(i,a,b) for(int i=a;i>=b;i--)using namespace std;typedef long long ll;const int N=1300005;const int mo=1e9+7;int a[305][30],cnt=0,val[N],len,ans,f[N],n,m;char s[N];inline void ins(){ int x=0,len=strlen(s); fo(i,0,len-1) { int c=s[i]-'a'; if (a[x][c])x=a[x][c]; else x=a[x][c]=++cnt; } val[x]=1;}inline void updata(int x){ int c=s[x]-'a'; int now=a[0][c]; for(;now;now=a[now][s[++x]-'a']) { if (val[now])f[x]=1; if (x==len)return; }}int main(){ scanf("%d%d",&n,&m); fo(i,1,n) { scanf("%s",s); ins(); } fo(i,1,m) { scanf("%s",s+1); int t=0,ans; len=strlen(s+1); memset(f,0,sizeof(f)); f[0]=1; fo(j,0,len) { if (t>10)break; if (!f[j]) { t++; continue; } t=0,ans=j; updata(j+1); } printf("%d\n",ans); }}
0 0
- bzoj1212 L语言 trie
- bzoj1212: [HNOI2004]L语言 Trie+dp
- 【BZOJ1212】[HNOI2004]L语言【Trie】【暴力】
- bzoj1212 [HNOI2004]L语言(Trie+暴力)
- [bzoj1212] [HNOI2004]L语言(trie+dp)
- [BZOJ1212]-[HNOI2004]L语言-trie+DP
- Trie——Luogu2292/BZOJ1212 [HNOI2004]L语言
- bzoj1212: [HNOI2004]L语言
- 【BZOJ1212】【HNOI2004】L语言
- bzoj1212: [HNOI2004]L语言
- bzoj1212: [HNOI2004]L语言
- bzoj1212: [HNOI2004]L语言
- BZOJ1212——L语言
- bzoj1212 L语言 递推&Tire
- BZOJ1212: [HNOI2004]L语言 AC自动机
- bzoj1212 [HNOI2004]L语言(AC+dp)
- [bzoj1212][字典树][dp]L语言
- [DP+AC自动机] BZOJ1212: [HNOI2004]L语言
- AngularJs模块加载 运行块
- 动态规划----背包
- 文章标题
- 时间复杂度和空间复杂度详解
- String,StringBuffer和StringBuilder的区别
- bzoj1212 L语言 trie
- 阶段复习——第一个年终总结
- CCF之模版生成系统(java)
- VS2013/MFC编程入门之三十八(文档、视图和框架:分割窗口)
- 中国社会阶层划分
- 完全背包总结
- centOS6.5 配置vim
- Enum are Class Types
- laravel5.2session的使用