![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
后缀自动机
UniverseofHK
事情留在今天,时间送给明天
展开
-
K-th occurrence 2019CCPC网络赛+HDU6704(后缀自动机+主席树)
K-th occurrence之前网络赛跟队友合体出的题,当时我写的后缀自动机,他写的主席树,hhh!现在我会写主席树,他会写后缀数组,于是各自独立的A了!并且我跟之前网络赛时的解法还不完全一样巨佬队友bxd的后缀数组+主席树解法题意:给定一个串SSS,有QQQ个询问:求子串S[l,r]S[l,r]S[l,r]在SSS中的第kkk次出现位置。思路:由于后缀自动机可以知道某个子串的e...原创 2019-11-05 21:30:46 · 308 阅读 · 0 评论 -
最短不公共子串(后缀自动机+序列自动机+bfs)
最短不公共子串题意:问最短的满足:是A的子串(子序列),且不是B的子串(子序列,子序列(子串))。(共四个问题)思路:子串问题,考虑后缀自动机;子序列问题,考虑序列自动机;然后本题要求属于前者,而不属于后者的子结构,可以考虑暴力的在两种DAG上同时跑;若前者可以跑,后者却不能跑,说明此子结构仅属于前者,好像问题就解决了?但仔细一想,长度为200020002000的串子序列似乎太多了,...原创 2019-10-22 20:08:17 · 630 阅读 · 0 评论 -
喵星球上的点名(后缀自动机+dfs序+莫队)
喵星球上的点名一道据传言有多种解法的题(不过大多是因为数据太弱过的)。先用AC自动机搞了一上午,无果;看了题解,后缀自动机+莫队?正好是我最喜欢的算法之一+正在学习的算法,就这个了!然后由于广义自动机的lastlastlast标记有个地方忘了初始化。。。然后在大物课上调了三节课,洛谷一页都是我,hhh题意:有NNN个同学,名字包含姓和名;然后老师要点MMM次名,某次点名若是某个同学的姓或者名...原创 2019-10-08 18:29:00 · 174 阅读 · 0 评论 -
熟悉的文章(后缀自动机+二分答案+单调队列)
熟悉的文章题意:给定一本包含MMM个字符串(010101串)的字典,然后给出NNN个字符串,要求输出一个最大的长度LLL。其中LLL满足当前字符串909090%以上的部分都能被字典中的字符串的子串(子串长度不小于LLL)表示。思路:既然是与子串相关的问题,先考虑建立后缀自动机(在字典中每个字符串中间插入不会出现的字符进行字符串的分割),这样就能进行子串的匹配。题目要求最大的LLL,由于...原创 2019-09-25 15:42:18 · 125 阅读 · 0 评论 -
Can You Solve the Harder Problem?(2018ICPC焦作H)(后缀自动机+单调栈)
Can You Solve the Harder Problem?这题简直妙呀!可惜训练赛的时候3h3h3h我们就以为开不了题了。。。555题离场。。。吃完饭回来看了这题题解,看到了SuffixSuffixSuffix structuresstructuresstructures后秒懂!而且代码也简单!这题主要利用了后缀自动机的每个节点可以表达出原串本质不同的所有子串!这点非常巧妙!题意:将...原创 2019-09-22 23:17:35 · 553 阅读 · 0 评论 -
Megumi With String(2019南昌网络赛F)(后缀自动机+数学期望)
Megumi With String这题我T了40次左右。。。拿着别人的AC代码双向修改,我的一直T,别人的一直A。。。甚至感觉除了变量名不一样,其他的都完全一样了,还是T噩梦经历最后发现是初始化函数写跪了题意:给定一个已知串SSS,再给出另外一个串(随机)的长度,求原串在每次尾部增加节点后另外一个串的价值(价值定义见题面吧)思路:由于原串的操作是尾部增添字符,显然与后缀自动机一致,...原创 2019-09-22 11:08:25 · 299 阅读 · 0 评论 -
后缀自动机
先记录一个板子//#pragma comment(linker, "/STACK:102400000,102400000")#include "bits/stdc++.h"#define pb push_back#define ls l,m,now<<1#define rs m+1,r,now<<1|1#define hhh printf("hhh\n")#d...原创 2019-07-26 20:09:34 · 104 阅读 · 0 评论 -
洛谷-P3804 后缀自动机板子题
后缀自动机板子题题意:给了一个字符串,然后里面有些子串出现次数大于1,求这种子串的出现次数乘以子串长度的最大值。思路:正常建好后缀自动机,将所有的np节点出现次数赋值为1记录所有点父节点有几个儿子(不是后缀自动机上的儿子数,而是parent tree上的儿子数)利用topo排序的思路更新所有节点的出现次数然后就是更新答案//#pragma comment(linker, "/ST...原创 2019-08-02 13:01:16 · 130 阅读 · 0 评论 -
洛谷-P3975 弦论(后缀自动机板子题)
弦论一道板子题,让我感觉板子题都还不会。。。然后把递推写成dfs时没有给string加上&,导致内存爆了,2333,果然还是传引用好题意:求字典序第K小子串以及本质不同的第K小子串思路:正常的建好后缀自动机由于处理一个节点有多少endpos以及经过一个节点有多少子串都需要将所以节点按len从大到小排序,因此就不采用topo排序了利用一次桶排序(也有点像基数排序),即可完成按照...原创 2019-08-02 14:53:02 · 197 阅读 · 0 评论 -
找相同字符(后缀自动机)
找相同字符题意:给定两个字符串,在两个字符串中任选子串,求两子串相同的方案数思路:用后缀自动机处理两个字符串,一般考虑在中间插入一个用不到的字符(比如’#’),然后将它们组成一个串分别记录每个节点有多少个属于第一个字符串和第二个字符串的endpos,最后累加答案即可注意爆int,叠加答案采用 1LL∗cnt[i][0]∗cnt[i][1]∗(len[i]−len[fa[i]])1LL*...原创 2019-08-02 15:59:52 · 247 阅读 · 0 评论 -
洛谷 P-2178 品酒大会(后缀自动机)
品酒大会又一道黑题!以为自己O(n)O(n)O(n)的算法常数过大才TLE的,因此最终代码加了一堆优化(不过现在把register全给删了,不然有点难看),2333后面发现得加差分以及后缀思想才是O(n)O(n)O(n)。。。不过也好,跑起来速度挺快的。题意:有一个字符串,字符串第i个位置有权值a[i],求出所有r相似方案数以及r相似的最大美味值,美味值定义为a[i]*a[j],其中i,j为...原创 2019-08-02 20:53:32 · 181 阅读 · 0 评论