长度小于 10 是关键信息~

  1. #include <cstdio>
  2. #include <cstring>
  3. #include <algorithm>
  4. #define N 1000000
  5. #define setIO(s) freopen(s".in","r",stdin)
  6. using namespace std;
  7. struct Node {
  8. int ch[27],end,len;
  9. }t[N];
  10. int n,m,tot,f[N];
  11. char S[N];
  12. void insert(int i) {
  13. int rt=0,len=strlen(S+1),j;
  14. for(j=len;j>=1;--j) {
  15. if(!t[rt].ch[S[j]-'a']) t[rt].ch[S[j]-'a']=++tot;
  16. t[t[rt].ch[S[j]-'a']].len=t[rt].len+1;
  17. rt=t[rt].ch[S[j]-'a'];
  18. }
  19. t[rt].end=1;
  20. }
  21. int main() {
  22. int i,j;
  23. // setIO("input");
  24. scanf("%d%d",&n,&m);
  25. for(i=1;i<=n;++i)
  26. scanf("%s",S+1),insert(i);
  27. f[0]=1;
  28. for(int cas=1;cas<=m;++cas) {
  29. scanf("%s",S+1);
  30. int len=strlen(S+1);
  31. for(i=1;i<=len;++i) {
  32. int p=0;
  33. f[i]=0;
  34. for(j=i;j>=1;--j) {
  35. p=t[p].ch[S[j]-'a'];
  36. if(!p) break;
  37. if(t[p].end) f[i]|=f[j-1];
  38. }
  39. }
  40. int MX=0;
  41. for(i=1;i<=len;++i) {
  42. if(f[i]) {
  43. MX=i;
  44. }
  45. }
  46. printf("%d\n",MX);
  47. }
  48. return 0;
  49. }

  

BZOJ 1212: [HNOI2004]L语言 trie的更多相关文章

  1. BZOJ 1212: [HNOI2004]L语言( dp + trie )

    因为单词很短...用trie然后每次dp暴力查找...用哈希+dp应该也是可以的.... ------------------------------------------------------- ...

  2. BZOJ 1212: [HNOI2004]L语言 [AC自动机 DP]

    1212: [HNOI2004]L语言 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1367  Solved: 598[Submit][Status ...

  3. BZOJ 1212 HNOI2004 L语言 AC自己主动机(Trie树)+动态规划

    标题效果:给定词的列表,并m串 每个字符串q个最长前缀,这个前缀可满足拆分成一些字符串 这些字符串中存在的词汇太 再也不怕错误的数据范围--有一个很明显Trie树能解决的问题竟然被我写的AC自己主动机 ...

  4. BZOJ 1212 [HNOI2004]L语言 【AC自动机 + 背包】

    题目链接[http://www.lydsy.com/JudgeOnline/problem.php?id=1212] 题意:给你一些单词,然后给出一个没有标点的文本串S,都是小写字符.现在让你求用给出 ...

  5. bzoj 1212: [HNOI2004]L语言 AC自动机+状压

    为什么这道题网上所有题解写的都是N*Len的trie树的暴力啊,4E的复杂度... 为什么暴力还跑这么快啊TAT.. 有一个O(Len)的做法就是先把AC自动机建出来,因为每个字典串的长度很小,所以我 ...

  6. bzoj 1212: [HNOI2004]L语言

    思路:字典树+dp, dp[ i ] 表示 前缀到 i 能不能被理解, 如果dp[ i ] 是能被理解的那么, 把i + 1, i + 2 ....  在字典树上走,走到一个单词就转移. ,这样可行的 ...

  7. 1212: [HNOI2004]L语言

    1212: [HNOI2004]L语言 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 643  Solved: 252[Submit][Status] ...

  8. 【BZOJ1212】[HNOI2004]L语言 Trie树

    [BZOJ1212][HNOI2004]L语言 Description 标点符号的出现晚于文字的出现,所以以前的语言都是没有标点的.现在你要处理的就是一段没有标点的文章. 一段文章T是由若干小写字母构 ...

  9. Luogu P2292 [HNOI2004]L语言(Trie+dp)

    P2292 [HNOI2004]L语言 题面 题目描述 标点符号的出现晚于文字的出现,所以以前的语言都是没有标点的.现在你要处理的就是一段没有标点的文章. 一段文章 \(T\) 是由若干小写字母构成. ...

随机推荐

  1. [转帖]【JDK和Open JDK】平常使用的JDK和Open JDK有什么区别

    https://www.cnblogs.com/sxdcgaq8080/p/7487369.html 其实不同的 openjdk的版本也不一样. atlassian说AdoptOpenJDK我们测试充 ...

  2. sql server备份损坏

    sql server备份损坏 转自:https://www.cnblogs.com/zhijianliutang/p/4080916.html 1.备份文件和数据库放在同一个(或一组)的物理磁盘上.磁 ...

  3. ETL初探

    初识ETL 概念 ETL即Extract-Transform-Load.目的是将分散.凌乱.异质的数据整合在一起,为决策提供分析数据,是BI项目(Business Intellifence)项目中重要 ...

  4. .Net Core使用AutoMapper做对象关系映射

    我想很多后端开发者,纠结于如何在Dto及表实体中做属性关系映射,因为真的太繁琐了., ⒈如何使用? Mapper.Initialize(cfg => cfg.CreateMap<Users ...

  5. Memcached安装 常用指令

    Memcached 源码安装 # 安装依赖yum install -y gcc gcc-c++ automake autoconf make cmake libevent-devel.x86_64# ...

  6. mongodb 添加用户

    use admindb.createUser({ user:"admin", pwd:"abc123456", roles:[{role:"root& ...

  7. Filebeat7 Kafka Gunicorn Flask Web应用程序日志采集

    本文的内容 如何用filebeat kafka es做一个好用,好管理的日志收集工具 放弃logstash,使用elastic pipeline gunicron日志格式与filebeat/es配置 ...

  8. JS基础_数据类型-Number类型

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. qt webengineview 设置背景颜色

    当使用qwebengineview加载网页的使用,可以通过网页端的css设置网页的显示效果 但是当窗口大小改变的时候,你会发现网页的resize速度赶不上窗口的resize速度,这是会出现白色空白,而 ...

  10. k8s部分名称解释

    k8s部分名词解释 NameSpace:命名空间 Namespace是对一组资源和对象的抽象集合,比如可以用来将系统内部的对象划分为不同的项目组或用户组.常见的pods, services, repl ...