————AC自动机
BAJim_H
比孤独更可悲的事情,就是根本不知道自己很孤独,或者分明很孤独,却把自己都骗得相信自己不孤独。
展开
-
【COCI2012 Task 5】T6 poplocavanje ([JZOJ3172]贴瓷砖)(AC自动机模板)
Description A镇的主街是由N个小写字母构成,镇长准备在上面贴瓷砖,瓷砖一共有M种,第i种上面有Li个小写字母,瓷砖不能旋转也不能被分割开来,瓷砖只能贴在跟它身上的字母完全一样的地方,允许瓷砖重叠,并且同一种瓷砖的数量是无穷的。 问街道有多少字母(地方)不能被瓷砖覆盖。Solution似乎有的地方翻译成广告牌~显然跑AC自动机,求出每个位置向前最多匹配多少位,扫一遍就好。 注原创 2016-07-16 16:31:37 · 731 阅读 · 0 评论 -
AC自动机
Preface又是一个看似很厉害的东西啊。TextAC自动机,什么玩意?能吃么AC自动机说是什么著名的多模匹配算法然而实质上,就是在TrieTrie树(字典树)上跑KMPKMP比如说,给出一个字符串SS,很多单词,问哪些单词是字符串的子串。怎么办?我们可以将这些单词构造出一棵TrieTrie树显然我们可以从根节点向下一位位匹配然后设当前匹配到S[i]S[i],pp这个节点。我们需要构造一个叫fail原创 2016-07-16 16:23:48 · 365 阅读 · 0 评论 -
[JZOJ2784][BZOJ2434]【NOI2011】阿狸的打字机
Description 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机。打字机上只有28个按键,分别印有 26个小写英文字母和’B’、’P’两个字母。 经阿狸研究发现,这个打字机是这样工作的: 输入小写字母,打字机的一个凹槽中会加入这个字母(按 P 前凹槽中至少有一个字母)。 按一下印有’B’的按键,打字机凹槽中最后一个字母会消失。 按原创 2017-11-28 17:20:53 · 279 阅读 · 0 评论 -
[51Nod 1587] 半现串
Description 有两个串S,T。T的长度是d。我们说T在S中半现的条件是当T的某一个长度为 ⌊d/2⌋ 的子串是S的一个子串。(子串是在原串中连续出现的一段字符串)。 现在给定一个原串s,另外给出x,y,长度为d他们都只包含数字字符,问区间[x,y]中在s中半现的数字有多少个。 答案比较大,对 109+710^9 + 7 取余后输出。 1≤|s|≤1000,2≤d<=5原创 2017-12-22 22:44:04 · 230 阅读 · 0 评论 -
【字符串】[CodeForces 963D] Frequency of String【无实现】
http://codeforces.com/contest/963/problem/DDescription给出一个字符串S n次询问,每次询问给出正整数k和字符串m 要求字符串T的最小长度,满足T是S的子串,且m在T中出现了至少K次n,|S|,∑|m|≤100000n,|S|,∑|m|≤100000n,|S|,\sum |m|\leq 100000 保证询问的串互不相同So...原创 2018-05-14 22:35:16 · 851 阅读 · 0 评论 -
[JZOJ5915]【NOIP2018模拟10.19】明日之星
Description给定一棵树,每个节点有一个权值ai和一个字符串siq组询问,每次询问一个字符串S和两个节点x,y求x到y路径上每个节点的字符串在S中出现的次数乘上各自的权值总和。有单点修改权值的操作。n,q&lt;=200000,∑si,∑S≤400000\sum si,\sum S\leq 400000∑si,∑S≤400000强制在线Solution首先对于树上路径的问题...原创 2018-10-20 16:54:07 · 504 阅读 · 0 评论