AC自动机
里阿奴摩西
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[AC自动机模板题] HDU 2222 Keywords Search
模板题 考前复习 #include #include #include #include #include #define cl(x) memset(x,0,sizeof(x)) using namespace std; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1原创 2016-07-21 08:28:49 · 334 阅读 · 0 评论 -
[AC自动机 fail树 || 后缀数组] BZOJ 3172 [Tjoi2013]单词
只有我一个人觉得题意看不懂么 fail树的做法 首先我们将给出的n个串构建AC自动机 朴素的做法是对于每个串将这个串每个节点沿着fail指针扫一遍,将路径上的所有点的cnt++ 但是这样做会TLE 我们不妨反向思考 fail指针反向后是一棵树 沿着fail指针扫一遍就是沿着树边向根扫一遍 只在插入时将每个串的每个节点cnt++ 那么每个串终点所在fail原创 2016-07-21 08:32:08 · 415 阅读 · 0 评论 -
[AC自动机 fail树 树状数组] BZOJ 2434 [NOI2011] 阿狸的打字机
PoPoQQQ:http://blog.youkuaiyun.com/popoqqq/article/details/41518097 fail树不难想 看到两个条件马上想到树套树 汗 后来发现可以离线 树状数组 #include #include #include #include using namespace std; inline char nc() { static char bu原创 2016-07-21 08:36:30 · 399 阅读 · 0 评论 -
[AC自动机 DP] BZOJ 1030 [JSOI2007] 文本生成器
AC自动机上DP 算模板题吧 #include #include #include #include #include #define cl(x) memset(x,0,sizeof(x)) using namespace std; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) {原创 2016-07-21 08:39:09 · 323 阅读 · 0 评论 -
[AC自动机 概率DP 矩阵乘法||高斯消元] BZOJ 1444 [Jsoi2009]有趣的游戏
AC自动机建转移矩阵 然后 要么矩阵乘法 无限迭代 数据范围小可以接受 #include #include #include #include using namespace std; typedef long double ld; //typedef double ld; inline char nc() { static char buf[100000],*p1=buf,*原创 2016-07-21 08:44:58 · 836 阅读 · 0 评论 -
[AC自动机 fail树 树链的并] BZOJ 3881 [Coci2015]Divljak
建出AC自动机和fail树 然后每一个串在自动机上跑一遍 然后就是对应的节点到fail树根的路径的并都加一 路径的并有一个很好地idea 可以用两种dfs序 入栈序和出栈序 入栈序小于等于子树的last 减去 出栈序小于自己的 就是到根的路径 #include #include #include //#define dprintf(...) fprintf(stderr,__V原创 2016-08-05 15:02:56 · 610 阅读 · 0 评论 -
[AC自动机 矩阵快速幂 期望] BZOJ 2553 [BeiJing2011]禁忌
首先贪心很容易理解 每一步一旦走到禁忌点就会有一的贡献 那么就记每一步走到禁忌点的概率然后累加即是答案 累加可以加一个新节点 详见:http://www.cnblogs.com/zyfzyf/p/4153860.html原创 2016-08-22 21:32:49 · 494 阅读 · 0 评论 -
[二进制分组 AC自动机] HDU 4787 GRE Words Revenge
这个如果单次询问的话应该是个AC自动机裸题 多次询问本来可以按时间分治 但是强制在线 就可以用xhr的二进制分组方法 浅谈数据结构题的几个非经典解法 也可以看CA的博客 【从此不怕强制在线】二进制分组学习笔记 大致思想是修改按二进制分组 这样最多log组 每次询问的复杂度会多一个log 合并的均摊复杂度也是log的#include<cstdio> #include<cstdlib> #in原创 2017-01-30 19:44:23 · 814 阅读 · 0 评论 -
[数位DP AC自动机] Codeforces 434C Round #248 (Div. 1) C. Tachibana Kanade's Tofu
这个题无话可说 fi,j,k,tf_{i,j,k,t}表示第 ii 位,AC自动机上走到 jj ,当前得分为 kk ,是否小于上界 tt , 复杂度看着很高,其实跑不满?#include<cstdio> #include<cstdlib> #include<algorithm> #include<cstring> #define cl(x) memset(x,0,sizeof(x)) using原创 2017-06-17 20:20:37 · 680 阅读 · 0 评论
分享