字符串 知识点 AC自动机 把多个串插入一个自动机里进行匹配,其实建好的是Trie图 cpp void Add(char s,int op) { int x=0,len=strlen(s+1); for(int i=1;i ...
分类:
其他好文 时间:
2018-11-04 15:39:26
阅读次数:
180
用所有合法序列的方案数减不包含题目中要求的子序列的合法序列数 后者用AC自动机维护一下dp就好 ...
分类:
其他好文 时间:
2018-11-02 20:30:09
阅读次数:
177
恢复内容开始 套路题 dp[i][j]表示文本第i个字符匹配到trie图的第j个节点且没有出现过完整单词的方案数 拿26^n-dp[n]就好 ...
分类:
其他好文 时间:
2018-09-28 01:34:03
阅读次数:
159
题目大意:给出n个数的序列和m,求数列中出现至少m次的最大长度。 本来可以用trie树和ac自动机/trie图搞一搞,但是数据范围太大。 后缀数组+RMQ: ...
分类:
其他好文 时间:
2018-09-25 16:35:17
阅读次数:
140
题目大意:略 由于字符集大,要用map维护Trie树 并不能用AC自动机的Trie图优化,不然内存会炸 所以我用AC自动机暴跳fail水过的 显然根据喵星人建AC自动机是不行的,所以要根据问题建 然而这题有一些很艮的地方: 1.如果一个喵的名和姓都被点到,那他只被点到了一次 2.询问的串可能相同 3 ...
分类:
其他好文 时间:
2018-09-25 01:23:06
阅读次数:
167
trie图实际上是优化的一种AC自动机。 trie图是在trie树上加一些失配指针,实际上是类似KMP的一种字符串匹配算法。 失配指针类似KMP的nx数组,有效地利用了之前失配的信息,优化了时间复杂度。 比如trie树上的abc那个节点,失配后会指向bc。 所以我们需要知道上一层节点的fail指针, ...
分类:
其他好文 时间:
2018-09-20 16:13:33
阅读次数:
178
Trie图(蒟蒻听说AC自动机能做的题Trie图都能做,而且AC自动机可能被卡,就没学过AC自动机),最近想捡一捡,好久之前做的了。 Trie图,就是一个在Trie树上建的图 大概描述一下 比如说有几个字符串: abc abcd bcd bacd jdr ac 先把它们存在Trie树中: 就像KMP ...
分类:
其他好文 时间:
2018-09-18 19:06:53
阅读次数:
318
ac自动机裸题,但我还是写的trie图。 还有,访问过的点要打标记,不然会tle。 代码: ...
分类:
其他好文 时间:
2018-09-18 13:48:49
阅读次数:
118
题目 分析 对着Trie图搞快速幂。 为什么这样是对的呢? 详见:http://www.matrix67.com/blog/archives/276 有些地方还不是很理解。。。。。。为什么节点还要往下扩展? 有空再来搞一搞 代码 1 //#include <bits/stdc++.h> 2 #inc ...
分类:
其他好文 时间:
2018-07-29 17:58:38
阅读次数:
150
题目链接 "bzoj1559: [JSOI2009]密码" 题解 构造长度为n包含所有模式串的的串,求方案数 构造AC自动机的trie图 对于模式串可以装压dp 设dp[i][j][s]表示位于字符串第i位,位于trie图上的第j个节点,状态为s方案数 转移边为trie图 考虑ans include ...
分类:
Web程序 时间:
2018-07-05 21:22:03
阅读次数:
230