传送门在这里。 大意: 给一堆字符串,询问每个字符串有多少子串在所有字符串中出现K次以上。 解题思路: 这种子串问题一定要见后缀自动机Parent树Dfs序统计出现次数都是套路了吧。 这道题统计子串个数,那么可以发现,若一个节点所对应的子串出现了K次,那么其贡献就是len,不需要考虑重复。 因为即使 ...
分类:
其他好文 时间:
2018-12-07 17:17:27
阅读次数:
221
题解: 首先建出后缀自动机 我们考虑对于每个节点i 在其parent树上找到离其最近的j让s[j]子串在s[i]中出现>=2次以上(因为在j祖先节点必然都满足条件 但显然最近的最优) 所以把原parent树转化成新树 新树的最大高度即为答案 具体实现 可以倍增+线段树合并 E. Cool Sloga ...
分类:
其他好文 时间:
2018-12-04 20:09:53
阅读次数:
118
~~我就抄抄论文好了~~ 有限状态自动机其实是一个单词的有向无环图,图中包含了一个起始状态和一个结束状态集合,有向图的边上赋有权值。有限状态自动机的功能是识别字符串。 自动机由五个部分组成,alpha:字符集,state:状态集合,init:初始状态,end:结束状态集合,trans:状态转移函数。 ...
分类:
其他好文 时间:
2018-12-01 18:34:18
阅读次数:
182
学习一波后缀自动机 1 #include<iostream> 2 #include<cstdio> 3 #include<cstdlib> 4 #include<cmath> 5 #include<algorithm> 6 #include<cstring> 7 #include<vector> 8 ...
分类:
其他好文 时间:
2018-11-28 20:38:44
阅读次数:
224
省选数据结构: 好像将的都是一些科技。 一般都不会在板子上做什么修改啊。 大概列一下知识点: 字符串:后缀自动机,回文自动机。 有关于树的:LCT,KD-tree,可持久化数据结构,树套树(分治),点分治,替罪羊树。 其他一些:凸包,插头dp。 大部分都是很好理解的,个人感觉只有字符串的一些不是那么 ...
分类:
其他好文 时间:
2018-11-24 11:52:42
阅读次数:
117
后缀自动机能解决很多单串的问题、但是一旦到了多串的情况、可能就会变得有些棘手 这个时候你可能会想能不能将多个串一起构建出和单串后缀自动机那样子拥有诸多优美性质的自动机呢? 答案当然是有的、那就是广义后缀自动机 对于广义后缀自动机、和普通的后缀自动机写法上有些许不同之处 大致就是在插入新串的时候、需要 ...
分类:
其他好文 时间:
2018-11-10 21:12:47
阅读次数:
552
E - Three strings 将三个串加进去,看每个节点在三个串中分别出现了多少次。 ...
分类:
数据库 时间:
2018-11-02 20:28:27
阅读次数:
186
题意 给出一个字符串,要你找出所有长度的子串分别的最多出现次数。 分析 我们建出后缀自动机,然后预处理出每个状态的cnt,cnt[u]指的是u这个状态的right集合大小。我们设f[len]为长度为len的子串的最多出现次数。我们对于自动机的每个状态都更新f,f[st[u].len]=max(f[s ...
分类:
其他好文 时间:
2018-10-31 12:42:43
阅读次数:
211
题意 给出一个字符串,求它的最小表示法。 分析 这个题当然可以用最小表示法做啦!但是我是为了学后缀自动机鸭! 我们把这个字符串长度乘二,然后建SAM,然后在SAM上每次跑最小的那个字母,找出长度为n的时候就停下。如果停下的那个状态时u,那么ans=st[u].len-n+1 1 #include < ...
分类:
其他好文 时间:
2018-10-31 12:36:29
阅读次数:
174
(刷的第一道后缀自动机) 正式开始后缀自动机的漫长道路 hihoCoder 1145 时间限制:10000ms 单点时限:2000ms 内存限制:512MB 时间限制:10000ms 单点时限:2000ms 内存限制:512MB 描述 小Hi平时的一大兴趣爱好就是演奏钢琴。我们知道一个音乐旋律被表示 ...
分类:
其他好文 时间:
2018-10-26 00:43:55
阅读次数:
166