http://hihocoder.com/problemset/problem/1457 找不重复子串的和 topo序搞一搞,用父亲更新儿子节点的val,记得乘上节点数 //#pragma comment(linker, "/stack:200000000") //#pragma GCC optim ...
分类:
其他好文 时间:
2018-03-29 22:42:44
阅读次数:
249
Description: Given a string, find the length of the longest substring without repeating characters. 题意: 输入一个字符串, 输出最长不重复子串的长度 思路: 比较一般的思路是, 只要是有关于重复的应 ...
分类:
其他好文 时间:
2018-03-12 22:54:30
阅读次数:
211
题链: http://www.spoj.com/problems/SUBLEX/题解: 后缀自动机。 首先,因为相同的子串都被存在了自动机的同一个状态里面,所以这就很自然的避免了重复子串的问题。 然后考虑自动机里面的转移trans,发现其构成了一个DAG,且从一个状态出发,DFS下去就可以得到所有的 ...
分类:
其他好文 时间:
2018-03-10 21:56:56
阅读次数:
166
问题链接 "LeetCode 3" 题目解析 求字符串的 最长无重复子串 。 解题思路 第一个问题是 子串 ,注意是连续的。 建立一个符号哈希数组 $in[256]$,代表该符号时候出现过,256大小是因为ASCII表共能表示256个字符。初始化为0,代表未出现,当 $in[i] 0$ 时,表示该字 ...
分类:
其他好文 时间:
2018-03-09 20:37:22
阅读次数:
279
C++解法一: 算法解读:1) 这里使用哈希的思想,把256个可能的字符都考虑在内,字符的ASCⅡ编码作为数组下标进行映射。如m[a]等价于m[97]。2) res其实是result的缩写,表示返回的最大无重复子串的长度,left表示当前正在判断的子串的起始位置。3) 进行一个for循环,当满足(m ...
分类:
其他好文 时间:
2018-03-01 20:03:43
阅读次数:
153
题意:求重复次数最多的重复子串(并非长度最长) 枚举循环子串长度$L$,求最多能连续出现多少次,相邻的节点往后的判断可以使用$LCP$得到值为$K$,那么得到一个可能的解就是$K/L+1$ 这个不是最优解,还需要 往前 判断,往前的判断必须是两个后缀依然等间距的,而且首个后缀必须在此前已经枚举过的后 ...
分类:
其他好文 时间:
2018-02-25 15:51:05
阅读次数:
166
http://poj.org/problem?id=3261 给一个序列,求至少出现 k 次的最长重复子串,这 k 个子串可以重叠。 论文题+傻逼题。 上一道题(POJ1743)会做即可。 还是二分长度,按照高度数组分组做,统计每个组有多少个后缀即可。 +++++++++++++++++++++++ ...
分类:
其他好文 时间:
2018-02-24 11:46:16
阅读次数:
108
题意:求最长的可重叠的 K重复子串 的长度 考虑二分长度s,转化为验证性问题。 对SA进行分组。保证组内Height最小为s。这样在组内RMQ就可以任意了,因为RMQ一定是大于S的。 只要组内元素个数大于等于K就是可行解。 ...
分类:
其他好文 时间:
2018-02-11 21:32:47
阅读次数:
180
"题目链接" 题目描述 给定一个字符串,求至少出现 $k$ 次的最长重复子串,这 $k$ 个子串可以重叠。 思路 二分 子串长度,据其将 $h$ 数组 分组 ,判断是否存在一组其大小 $\geq k$. Code ...
分类:
编程语言 时间:
2018-01-27 23:12:57
阅读次数:
247
一个字符串的题,有姿势水平的OIers的脑中应该要浮现出许多算法…… 但是我没有姿势,也没有水平,除了KMP和trie树,什么也想不起来。 直到我学了它——后缀数组! 多亏这玩意儿,我现在什么都想不起来了。 后缀数组干嘛用的? 主要处理同一个字符串中的重复子串问题。 如何实现? 注意到每一个子串,都 ...
分类:
编程语言 时间:
2018-01-26 22:43:25
阅读次数:
213