给你一个长度为 $n$ 的串 $s_1$,再给你一个长度为 $m$ 的串 $s_2$,问需要至少多少个 $s_1$ 的子串才可以拼成 $s_2$? ...
分类:
其他好文 时间:
2020-07-11 12:33:33
阅读次数:
50
题:http://hihocoder.com/problemset/problem/1445 分析:后缀自动机模板 #include<iostream> #include<algorithm> #include<cstring> #include<cstdio> using namespace st ...
分类:
其他好文 时间:
2020-07-05 15:17:04
阅读次数:
69
##求循环串在原串中出现次数 ###解题思路: 实际上去找循环同构串在母串中的出现次数,用母串构建SAM,将给出的串比如abc变成abcab,那么我们对于循环同构串按位去在SAM中跳trans,如果能跳就跳,代表这以u为结尾的循环同构串在后缀自动机上到达的状态,如果有不能通过trans转移的话,那么 ...
分类:
其他好文 时间:
2020-07-01 22:26:30
阅读次数:
49
按顺序在一个序列的末尾插入数字,求每次插入后的本质不同子串个数 ...
分类:
其他好文 时间:
2020-06-22 23:19:14
阅读次数:
60
题目传送门 先建好后缀自动机,然后答案就是$\sum_{u \in 状态集合}len[u]-len[link[u]]$。 为什么这样是对的? 每个状态所代表的字符串是没有交集的,所以我们只需求出每个状态有多少个子串。 其实在学习构建SAM的时候我们学过link的一个性质,就是len[link[x]] ...
分类:
其他好文 时间:
2020-06-13 23:03:48
阅读次数:
66
枚举T中失配的位置i,容易发现能够成立当且仅当存在一个以$T[0,i)$为后缀的前缀$S[0,a)$且$T(i,|T|)$是$S(a,|S|)$的一个前缀 考虑建立S的正序和倒序的两个后缀自动机,设$T[0,i)$对应点x(正序自动机中),$T(i,|T|)$对应点y(倒序自动机中),那么必然有$a ...
分类:
其他好文 时间:
2020-06-09 18:23:24
阅读次数:
56
题目描述 给定一个长度为 $n$ 的字符串 $P$,有 $m$ 次询问,每次给定两个参数 $l$ , $r$,询问子串 $P[l,r]$ 所构成的后缀树的结点数。 $n\le 10^5,m\le 3\times 10^5$ 题解 tag:分类计数;后缀树/后缀自动机;线段树/树状数组;哈希。 做法来 ...
分类:
其他好文 时间:
2020-05-21 23:55:09
阅读次数:
94
没啥意思的后缀自动机系列,但是难度就很高2333 ...
分类:
其他好文 时间:
2020-05-02 19:14:16
阅读次数:
66
~~为什么题解的复杂度都带根号啊…迷惑~~ 题意: ~~题目的翻译很清楚。~~ 先把字符串翻转,容易证明答案不变。 我们考虑最优的办法,容易证明,最优解中,如果是非真子集,那么很显然长度是 ~~(算了稍微解释一下,就是如果你多出来的就删掉,保留一个这种递增序列,这样一定最优)~~ ${1,2,3,4 ...
分类:
其他好文 时间:
2020-05-02 18:34:32
阅读次数:
88