传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1212

思路:这题AC自动机都不用建,只要trie就好了。。。

首先令f[i]表示到i的前缀能否被理解,那么答案就是f[i]==1时最大的i

转移也很简单,如果f[i]==1,这个串就可以从i+1开始匹配一个新单词,因为单词长度<=10,暴力在trie上走就是了

设trie上匹配到一个长度为j的单词,那么f[i+j]=1。

#include<cstdio>
#include<cstring>
#include<algorithm>
const int maxn=(1<<20)+10;
using namespace std;
int n,m,len,f[maxn];char s[maxn];;struct trie{int tot,ch[2010][26];bool ok[maxn];void insert(){int p=0,len=strlen(s);for (int i=0;i<len;p=ch[p][s[i]-'a'],i++) if (!ch[p][s[i]-'a']) ch[p][s[i]-'a']=++tot;ok[p]=1;}
}T;int work(int t){int ans=0;len=strlen(s+1);f[0]=t;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=T.ch[p][s[j]-'a'];if (!p) break;if (T.ok[p]) f[j]=t;}}return ans;
}int main(){scanf("%d%d",&n,&m);for (int i=1;i<=n;i++) scanf("%s",s),T.insert();for (int i=1;i<=m;i++) scanf("%s",s+1),printf("%d\n",work(i));return 0;
}

转载于:https://www.cnblogs.com/thythy/p/5493562.html

bzoj1212: [HNOI2004]L语言相关推荐

  1. 【Trie】bzoj1212 [HNOI2004]L语言

    枚举每个文章里已经在Trie中被标记为可能是分割处的字符,然后再从此处跑Trie,继续向后标记.由于单词数很少,因此复杂度可以接受,O(n*m*Len). #include<cstdio> ...

  2. [HNOI2004]L语言

    1212: [HNOI2004]L语言 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 1507  Solved: 666 [Submit][Stat ...

  3. 1212: [HNOI2004]L语言

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

  4. 【bzoj1212】[HNOI2004]L语言 AC自动机

    题目描述 标点符号的出现晚于文字的出现,所以以前的语言都是没有标点的.现在你要处理的就是一段没有标点的文章. 一段文章T是由若干小写字母构成.一个单词W也是由若干小写字母构成.一个字典D是若干个单词的 ...

  5. 【HNOI2004】L语言

    题目描述 标点符号的出现晚于文字的出现,所以以前的语言都是没有标点的.现在你要处理的就是一段没有标点的文章. 一段文章T是由若干小写字母构成.一个单词W也是由若干小写字母构成.一个字典D是若干个单词的 ...

  6. LuoguP2292 L语言

    题目描述 令f[i]表示文章的1-i是否能够由单词构成,那么f[i]=f[j]&&OKj+1,i. 其中OKj+1,i表示j+1到i能够由单词构成. 显然不能直接转移,考虑怎样快速算出 ...

  7. 2017.9.19 L语言 失败总结

    写了一个下午+半个晚上好不容易调出来然后只有50分之后改了又错.错了又改之后发现自己写的是错的.. 这个题出的太刁钻了,万万没想到这个题是卡2e7的时限题. 所以可以暴力找每个点往后的匹配情况.... ...

  8. 提高篇 第二部分 字符串算法 第3章 Trie字典树

    Trie(字典树)解析及其在编程竞赛中的典型应用举例 - Reqaw - 博客园 『一本通』Trie字典树 - YeLingqi - 博客园 字典树(Trie Tree) - 仰望高端玩家的小清新 - ...

  9. c语言设计思路和有点不足,C语言总结报告

    1.当初你是如何做出选择计算机专业的决定的? 经过一个学期,你的看法改变了么,为什么? 你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗? 为什么? 当初报考计算机专业,是看到计算机专业在当今社会有良 ...

最新文章

  1. hive 时间转字符串_07697.0.3如何在Kerberos环境下用Ranger完成对Hive的行过滤及列脱敏...
  2. python2读取excel中文处理,【Python】【源码】利用Python读取Excel文件-续
  3. 根据目标选择减肥方法 少做无用功
  4. 社区团购平台得推社区团购系统 v3.1源码
  5. POST—GET—两种提交方式的区别
  6. 时间的正则表达式验证
  7. linux vi调至文件尾,linux vi从当前行复制到文件尾的命令?
  8. windows 快捷调用
  9. Genymotion安装apk问题,不能部署Genymotion-ARM-Translation_v1.zip
  10. python读取行政区txt文件实现行政区树_数据库的点数据根据行政区shp来进行行政区处理,python定时器实现...
  11. sql server 查询工具_分享一款开源的SQL查询优化工具--EverSQL
  12. 阿里天池大赛实战记录之菜鸟-需求预测与分仓规划
  13. git删除远程库文件
  14. Atitit.获取验证码图片通过web
  15. 做自媒体原创视频多平台分发,视频一键发布多平台方法教程
  16. 八卦在计算机应用,计算机编程在八卦图研究中的应用.doc
  17. 【重磅】聚焦券商终端业务,博睿数据发布新一代券商终端核心业务体验可观测平台
  18. 春天里,阳光下,无限的哀思和想念
  19. 段誉和男人们的普遍困境
  20. 微信小程序正则表达式

热门文章

  1. Python标准库02 时间与日期 (time, datetime包)
  2. 非空约束对数据更新的影响
  3. 洛谷P2286 [HNOI2004]宠物收养所 [STL,平衡树]
  4. 手打配对堆模板(支持push, pop, top, join)
  5. C语言中的static 详细分析 2014-10-11 15:15 143人阅读 评论(0) 收藏...
  6. 贪吃蛇原型实现基本思路
  7. unix下网络编程之I/O复用(二)
  8. 给线程变量pthread_t *thread动态分配空间
  9. fedora18 fedora17安装显卡驱动和网卡驱动
  10. UA MATH567 高维统计II 随机向量9 图的Max-cut问题 0.878近似算法