传送门 默认大家都学过trie与AC自动机。 先求出fail,对于每个节点维护一个sum,sum[u]待表从根到u所形成的字符串能拿到几分。显然sum[u]=sum[fail] + (u是几个字符串的结尾)。 设dp[i][j]代表长度为i到trie树上的j号节点所得的最大分数,显然有dp[i+1] ...
分类:
其他好文 时间:
2020-02-20 23:45:24
阅读次数:
84
传送门 我们正常的建好Trie后求一遍fail。之后对于每一个节点,从它的fail连向它一条单项边。然后从根节点开始dfs。 记sum[i]代表从根到i号节点所代表的的字符串出现的次数,即该点的权值。 设当前的节点为x,他有一个孩子y,则使sum[x] += sum[y]。 记得记录一下每个字符串结 ...
分类:
其他好文 时间:
2020-02-19 21:03:48
阅读次数:
58
网址:https://vjudge.net/problem/POJ-2778 题意: 给出字符集${A,C,G,T}$和一些字符串(长度不超过$10$,且数量不超过$10$个),求长度为$n(n \leq 2e9)$的字符串中不包括上面这些字符串的字符串的数量。 题解: 我们可以先考虑一种方式:设$ ...
分类:
其他好文 时间:
2020-02-18 13:02:25
阅读次数:
83
题:http://acm.hdu.edu.cn/showproblem.php?pid=2243 题意:给出m个模式串,求长度小于n的且存在模式串的字符串数有多少个(a~z) 分析:我们反着来,用总的减去不包含的,总的很容易想到,每个位置都有26个选择,所以是Σ1n26i 不包含的 这里 有解决恰好 ...
分类:
其他好文 时间:
2020-02-17 23:40:23
阅读次数:
74
[LuoguP5319] [BJOI2019] 奥术神杖 (01分数规划+AC自动机+dp) 题面 神杖上从左到右镶嵌了$n$颗奥术宝石,奥术宝石一共有 1010 种,用数字 表示。有些位置的宝石已经残缺,用 表示,你需要用完好的奥术宝石填补每一处残缺的部分(每种奥术宝石个数不限,且不能够更换未残缺 ...
分类:
其他好文 时间:
2020-02-15 19:21:03
阅读次数:
78
题目链接:病毒[POI2000] 我们假设已经有一个无限长的串满足要求,那如果我们拿它去匹配会发生什么? 它会一直在Trie树和fail树上转圈,一定经过根节点且不会经过病毒字符串结束的节点。 所以如果我们能找到一个环满足“一定经过根节点且不会经过病毒字符串结束的节点”,那么就可以找到一个无限长的串 ...
分类:
其他好文 时间:
2020-02-14 16:33:36
阅读次数:
66
AC自动机+dp(记忆化搜素) https://vjudge.net/problem/UVA-11468 思路:构造出AC自动机后,把所有单词节点标记为禁止,就转化为从0节点走L步不进入任何禁止节点的概率。令dp[i][j]等于在i节点还要走j步不碰到禁忌节点的概率。 #include<iostre ...
分类:
其他好文 时间:
2020-02-14 00:40:05
阅读次数:
97
核心思想: 通过巧妙的设计使得我们能用一个DAG和树的复合结构来在线性复杂度内存储一个串的$n^2$个子串的信息。 定义: 1.后缀自动机的结构类似于AC自动机,每个点表示一个endpos等价类(子串结束位置的集合,以下简称为状态),边同AC自动机中的边。即后缀自动机上从根到一个点有若干条路径,这些 ...
分类:
其他好文 时间:
2020-02-10 22:47:35
阅读次数:
84
「JSOI2012」玄武密码 "传送门" 题目是要求多个串在母串上的最长匹配长度。 考虑 $\text{AC}$ 自动机,我们建出 $\text{Trie}$ 图然后用母串来在上面跑。 每一个能匹配的位置,它 $\text{fail}$ 的位置也一定可以匹配,我们就跳 $\text{fail}$ 把 ...
分类:
Web程序 时间:
2020-02-08 15:28:02
阅读次数:
83
目录 0 前导知识 0.1 1 哈希 1.1 哈希入门 1.2 哈希冲突 1.3 双哈希 2 KMP 基本原理 next数组 代码实现 3 Trie 4 自动机 4.1 Manecher 4.2 序列自动机 4.3 AC自动机 ...
分类:
其他好文 时间:
2020-02-06 20:07:38
阅读次数:
52