题目链接:hdu 5853 Jong Hyok and String 题意: 给你n个字符串,m个询问,每次询问一个字符串 定义set(s)={(i,j)} 表示 s在第i个字符串中出现,且末尾位置为j。 对于一个询问,求set(Qi)=set(t) ,t串的数量。 题解: 如果是n=1,那么就是后 ...
分类:
其他好文 时间:
2017-09-30 00:27:45
阅读次数:
310
题目链接:hdu 4436 str2int 题意: 给你n个字符串,每个字符串都是由数字构成,现在让你将这n个字符串所有的不重复子串构成的十进制数字加起来mod2012. 题解: 似乎这种不重复的子串问题,用后缀自动机都比较无脑搞。 首先将所有的串连起来,中间插个特殊字符,然后建立后缀自动机。 然后 ...
分类:
其他好文 时间:
2017-09-25 22:57:52
阅读次数:
181
题目链接:hdu 5343 MZL's Circle Zhou 题意: 给你两个串A,B,问从A,B中选子串x,y,问x+y可以组成多少个不同的串,x和y可以为空。 题解: 贴一个官方的题解 1 #include<bits/stdc++.h> 2 #define mst(a,b) memset(a, ...
分类:
其他好文 时间:
2017-09-25 20:48:46
阅读次数:
161
题目大意: 首先,我们来定义一下淋漓尽致子串。 1.令原串为S。 2.设子串的长度为len,在原串S中出现的次数为k,令其出现的位置为p1, p2, ....pk(即这个子串在原串中[pi,pi + len - 1]中出现)。 3.若k=1,则该子串不是淋漓尽致子串。 4.若存在pi,pj(i != ...
分类:
其他好文 时间:
2017-09-25 18:56:47
阅读次数:
181
题目链接:hdu 4641 K-string 题意: 一开始给你一个字符串S,现在有m个操作。 1 x表示在当前字符串末端添加一个字符x。 2 表示查询当前出现次数超过k次的子串有多少个。 题解: 后缀自动机在线维护right集。 没插入一个字符,就沿着fail跳,如果当前节点大于等于k的就不用再跳 ...
分类:
其他好文 时间:
2017-09-23 00:00:41
阅读次数:
208
题目大意: 给你一个数列,我们数列中两个串是相似的当且仅当这两个串的长度至少为5、两个串差分后形成的数列一样且不相交,求最长的相似串的长度。 思路: 后缀自动机求最长不相交重复子串。 首先将差分后的数列构造SAM,然后按照拓扑序DP,得到每个状态right集合的最大值t与最小值s,表示当前状态对应的 ...
分类:
其他好文 时间:
2017-09-14 21:42:35
阅读次数:
169
【题目链接】 http://www.lydsy.com/JudgeOnline/problem.php?id=3238 【题目大意】 给出一个字符串求其出现恰好k次的子串数量 【题解】 对串建立AC自动机,所有right值为k的节点的value值的和就是答案 【代码】 ...
分类:
其他好文 时间:
2017-09-14 18:45:51
阅读次数:
179
【题目链接】 http://www.lydsy.com/JudgeOnline/problem.php?id=3238 【题目大意】 给出一个串,设T[i]表示从第i位开始的后缀, 求sum(len(T[i])+len(T[j])-2*lcp(T[i],T[j])) 【题解】 根据反串的后缀自动机建 ...
分类:
其他好文 时间:
2017-09-14 16:51:32
阅读次数:
148
题目链接:hdu 4416 Good Article Good sentence 题意: 给你一个串A和n个串B,问你A有多少个子串不是这n个B的子串。 题解: 将A串建立后缀自动机,对于每个B串都拿去匹配一下,并记录后缀自动机中每个节点的最大匹配长度。 然后拓扑排序,更新每个节点的fail节点。最 ...
分类:
其他好文 时间:
2017-09-14 12:03:15
阅读次数:
130