随笔分类 -  字符串——后缀自动机

摘要:题面:洛谷 题解: 观察到L是可二分的,因此我们二分L,然后就只需要想办法判断这个L是否可行即可。 因为要尽量使L可行,因此我们需要求出对于给定L,这个串最多能匹配上多少字符。 如果我们可以对每个位置i求出g[i]表示以这个位置为结尾,向前最多匹配多少位,就可以快速得知任意区间[l, r]是否可以被 阅读全文
posted @ 2018-12-04 22:49 ww3113306 阅读(161) 评论(0) 推荐(0)
摘要:题面:洛谷 题解: 其实还可以用AC自动机做,但是没调出来,,,不知道发生了什么。。。 AC自动机做法如下: 观察到如果我们对给定的每个串建AC自动机,那么直接拿大串在上面匹配,如果遇到了一个单词的终止节点,假设当前大串的位置是i,匹配到的节点是j,那么这个单词覆盖了 [i - dep[j] + 1 阅读全文
posted @ 2018-12-04 22:06 ww3113306 阅读(162) 评论(0) 推荐(0)
摘要:题面:洛谷 题解: 题意:给定串,对于每个前缀求有多少本质不同的子串。 我们对这个串建后缀自动机,每加入一个字符就更新一次答案,更新一次输出一次。 对于后缀自动机上的每个状态,因为以[MINS, MAXS]中的每个值作为长度都可以表示一个不同的子串,所以这个状态的贡献就是这个区间的长度。 因此建的时 阅读全文
posted @ 2018-12-04 21:51 ww3113306 阅读(123) 评论(0) 推荐(0)

知识共享许可协议
本作品采用知识共享署名-非商业性使用-禁止演绎 3.0 未本地化版本许可协议进行许可。