题目大意:最小表示法模板题
不会最小表示法,拿后缀自动机水了一发~~
一开始还写挂了MLE…… 权当练习一下SAM的熟练度了0.0
#include
#include
#include
#include
#include
#define M 300300
using namespace std;
int n,a[M];
namespace Suffix_Automaton{
st...
分类:
其他好文 时间:
2014-12-16 11:44:52
阅读次数:
187
题目大意:给定一个初始字符串,提供两种操作:
1.在这个字符串的后面连接一个字符串
2.询问某个字符串在当前串中出现了多少次
SAM大叔的自动机~~
对于每个询问就是在后缀自动机上找到该子串所对应的节点 找不到返回0
然后这个节点的Right集合的大小就是这个子串的出现次数
每次Extend的时候将新建节点沿着parent指针到根的路径上所有点的Right集合大小+1即可
分裂节点的...
分类:
其他好文 时间:
2014-12-12 16:46:33
阅读次数:
236
后缀自动机(SAM、suffix automaton)模板。...
分类:
其他好文 时间:
2014-12-11 19:13:08
阅读次数:
122
就当是心情贴了T_T(我不会说是最近太郁闷了没地发泄才开的)12.11:1)为何感觉什么都学不会啊 FFT,后缀自动机,盯着论文瞅了三节课也没看懂,是智商的问题还是智商的问题 2)冬令营是2.8-2.15 逼我们翘期末考试的节奏?身在苦逼弱校,翘不了说不定就去不了了 T_T郁闷
分类:
其他好文 时间:
2014-12-11 15:38:54
阅读次数:
150
http://www.spoj.com/problems/SUBLEX/后缀自动机系列完成QAQ。。。撒花。。明天or今晚写个小结?首先得知道:后缀自动机中,root出发到任意一个状态的路径对应一个子串,而且不重复。(原因似乎是逆序后缀树?所以我们在自动机上预处理每一个状态的子串数目,然后从小到大枚...
分类:
其他好文 时间:
2014-12-05 14:12:33
阅读次数:
253
http://www.spoj.com/problems/LCS2/发现了我原来对sam的理解的一个坑233本题容易看出就是将所有匹配长度记录在状态上然后取min后再对所有状态取max。但是不要忘记了一点:更新parent树的祖先。为什么呢?首先如果子树被匹配过了,那么长度一定大于任意祖先匹配的长度...
分类:
其他好文 时间:
2014-12-05 07:04:26
阅读次数:
318
http://www.lydsy.com/JudgeOnline/problem.php?id=2555学到了如何快速维护right值orz(虽然这仍然是暴力维护,但是这是O(n)的暴力233首先我们在加一个新节点的时候直接遍历它的parent树就行啦啦!!!!这样直接就暴力维护了。。。我竟然没想到...
分类:
其他好文 时间:
2014-12-04 19:45:54
阅读次数:
154
http://www.spoj.com/problems/NSUBSTR/题意:给一个字符串S,令F(x)表示S的所有长度为x的子串中,出现次数的最大值。求F(1)..F(Length(S))这题做法:首先建立字符串的后缀自动机。因为自动机中的每个状态都代表一类子串前缀,且任意状态的最长的|max|...
分类:
其他好文 时间:
2014-12-04 07:41:30
阅读次数:
254
http://codevs.cn/problem/3160/sam的裸题。。。(之前写了spoj上另一题sam的题目,但是spoj被卡评测现在还没评测完QAQ打算写那题题解时再来详细介绍sam的。。。。那就再等等吧。求两个串的lcs话,就是先建立a串的sam,然后用b的字串去匹配a中。因为sam中每...
分类:
其他好文 时间:
2014-12-03 23:14:17
阅读次数:
276
题意:求出一篇文章中每个单词的出现次数表示样例没看懂= =,为什么aaa的次数是1但aa的次数是3啊......标准解法好像是AC自动机or后缀自动机,还有人用KMP暴力过的= =用后缀数组做的。原来没刷过这种类型,顺便复习一下~Reference:http://blog.sina.com.cn/s...
分类:
编程语言 时间:
2014-11-05 21:09:31
阅读次数:
320