留着以后慢慢做的AC自动机
来源:互联网 发布:wikipedia数据下载 编辑:程序博客网 时间:2024/06/11 01:08
来自http://www.cnblogs.com/kuangbin/p/3164106.html
有了KMP和Trie的基础,就可以学习神奇的AC自动机了。AC自动机其实就是在Trie树上实现KMP,可以完成多模式串的匹配。
AC自动机 其实 就是创建了一个状态的转移图,思想很重要。
推荐的学习链接:
http://acm.uestc.edu.cn/bbs/read.php?tid=4294
http://blog.csdn.net/niushuai666/article/details/7002823
http://hi.baidu.com/nialv7/item/ce1ce015d44a6ba7feded52d
AC自动机专题训练链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=25605#overview
这里我提交的代码是公开的,可以看到
题目来源:http://www.notonlysuccess.com/index.php/aho-corasick-automaton/
写AC自动机的代码风格是向昀神学的,好简洁,写起来好棒的感觉。
1、HDU 2222 Keywords Search 最基本的入门题了
就是求目标串中出现了几个模式串。
很基础了。使用一个int型的end数组记录,查询一次。
2、HDU 2896 病毒侵袭
这题和上题差不多,要输出出现模式串的id,用end记录id就可以了。还有trie树的分支是128的
3、HDU 3065 病毒侵袭持续中
这题的变化也不大,就是需要输出每个模式串出现的次数,查询的时候使用一个数组进行记录就可以了
4、ZOJ 3430 Detect the Virus
主要是解码过程,解码以后就是模板题了。
求出现的模式串的种类数
分支需要256个
5、POJ 2778 DNA Sequence
AC自动机+矩阵加速
这个时候AC自动机 的一种状态转移图的思路就很透彻了。
AC自动机就是可以确定状态的转移。
6、HDU 2243 考研路茫茫——单词情结
这题和上题有些类似。但是需要求和。
所以给矩阵增加一维,这样可以完美解决
7、POJ 1625 Censored!
AC自动机+DP+高精度
好题
8、HDU 2825 Wireless Password
AC自动机+状态压缩DP
相当于在AC自动机上产生状态转移,然后进行dp
9、HDU 2296 Ring
需要输出字典序最小的解
在DP的时候加一个字符数组来记录就行了
10、HDU 2457 DNA repair
很简单的AC自动机+DP了
11、ZOJ 3228 Searching the String
这题需要查询两种,一种是可重叠,一种是不可重叠的。
找模式串在目标串中的出现次数。
加一个数组记录上一次出现的位置,然后就可以求出不可重叠的了
12、HDU 3341 Lost’s revenge
这题主要是状态的表示,就是记录ACGT出现的次数。
然后个ACGT次数表示的时候,状态要转化。
13、HDU 3247 Resource Archiver
使用最短路预处理出状态的转移。这样可以优化很多
14、ZOJ 3494 BCD Code
这道题很神,数位DP和AC自动机结合,太强大了。
- 留着以后慢慢做的AC自动机
- 留着以后慢慢做的AC自动机
- 留着以后慢慢做的DP
- 留着以后慢慢做的数据结构
- 留着以后慢慢做的树形DP(题表)
- 留着以后慢慢做的网络流(题表)
- 留着以后慢慢做的DP(题表)
- 留着以后慢慢做的数位DP(题表)
- 留着以后慢慢做的二分三分(题表)
- 留着以后慢慢做的数位DP
- 留着以后慢慢做的概率DP
- 留着以后慢慢做的期望DP/概率DP
- 留着以后慢慢做的图论(题单)
- 比较重要的python库,留着以后慢慢看
- 搜索题,留着以后慢慢刷
- 超全的web开发工具和资源(留着以后慢慢学)
- AC自动机的学习
- as3 类库(转),留着以后慢慢看
- 当今世界最受人们重视的十大经典算法
- js对象
- Android小项目———— 冰炭不投de小计算器
- NYOJ 23 取石子(一)
- 深度学习笔记---梯度下降
- 留着以后慢慢做的AC自动机
- 自定义Dialog如何去除阴影
- 实训--day16
- Linux监控Tomcat服务定时任务脚本
- HDU5961传递(思维)
- 1的个数
- MOOC清华《程序设计基础》第6章第3题:最大乘积问题(递归法)
- tensorflow实战 猫狗大战(三)制作tfrecords数据集并显示与训练
- bzoj4540 [Hnoi2016]序列 (莫队+ST表+单调栈)