随笔分类 -  B - 字符串 - 后缀数据结构

摘要:简述版题意:给定字符串 S 与一棵树 T,树上每个点有一个字符。求树上所有简单路径对应的字符串在 S 中的出现次数之和。 阅读全文
posted @ 2020-01-21 09:32 Tiw_Air_OAO 阅读(207) 评论(1) 推荐(1) 编辑
摘要:给定一个包含 n 个小写字母的字符串 s,用 s 生成 n 个串 t1...n,其中 ti 等于字符串 s 将第 i 个字符替换为 * 得到的字符串。 特别注意:这里的 * 只是一个字符,并不具有其他含义(如通配符)。 求有多少字符串,在 {s, t1, t2, ..., tn} 中作为至少一个字符串的子串出现。 阅读全文
posted @ 2019-12-24 19:46 Tiw_Air_OAO 阅读(290) 评论(0) 推荐(0) 编辑
摘要:给定一个长度为 n 的串 w,找到一个长度最长的字符串序列 s1,s2,...,sk,使得 s1 为 w 的子串且 sisi1 中出现了两次以上。 1 ≤ n ≤ 200 000。 阅读全文
posted @ 2019-12-11 19:24 Tiw_Air_OAO 阅读(198) 评论(0) 推荐(0) 编辑
摘要:ION 每年规定一个命名串,要求每道题的名字必须是那一年的命名串的一个非空连续子串,且不能和前一年的任何一道题目的名字相同。 由于一些特殊的原因,小 A 得到了 ION2017 的命名串。 现在小 A 有 Q 次询问:每次给定 ION2017 的命名串和 ION2018 的命名串,求有几种题目的命名,使得…… 阅读全文
posted @ 2019-08-16 09:22 Tiw_Air_OAO 阅读(189) 评论(0) 推荐(0) 编辑
摘要:现有一个字符串 S。 Tiffany 将从中划分出 na 个子串作为 A 类串,第 i 个 Ai = S[la[i]...ra[i]]。 Yazid 将从中划分出 nb 个子串作为 B 类串,第 i 个 Bi = S[lb[i]...rb[i]]。 给定 m 组支配关系 (x, y),表示第 x 的 A 类串支配第 y 的 B 类串。 请使用任意多个 A 类串拼接起来得到最长的目标串 T,满足对于两个相邻的 A 类串,前一个 A 类串支配的某个 B 类串是后一个 A 类串的前缀。 如果无限长,输出 -1。 阅读全文
posted @ 2019-08-16 08:51 Tiw_Air_OAO 阅读(175) 评论(0) 推荐(0) 编辑
摘要:给定一个长度为 n 的字符串 S,令 Ti 表示它从第 i 个字符开始的后缀。求: sum((len(Ti) -lcp(Ti, Tj)+(len(Tj)-lcp(Ti, Tj)) (1 <= i < j <= n) 其中 lcp 是最长公共前缀。 阅读全文
posted @ 2019-01-11 17:44 Tiw_Air_OAO 阅读(188) 评论(0) 推荐(0) 编辑
摘要:给你一个字符串init,要求你支持两个操作 (1):在当前字符串的后面插入一个字符串 (2):询问字符串s在当前字符串中出现了几次?(作为连续子串) 你必须在线支持这些操作。 阅读全文
posted @ 2019-01-11 17:02 Tiw_Air_OAO 阅读(165) 评论(0) 推荐(0) 编辑
摘要:给定 M 个 01 串表示文本库,再给 N 个询问。 我们称一个子串是 “L - 熟悉” 的,当且仅当这个子串的长度大于等于 L 且是文本库中某一个串的子串。 每次询问给出一个 01 串 A,如果可以把这个串分成若干段子串,其中 “L0 - 熟悉” 的子串长度和 >= 90%*|A|,则称 L0 满足要求。输出满足要求的 L0 最大值。 阅读全文
posted @ 2019-01-11 14:39 Tiw_Air_OAO 阅读(171) 评论(0) 推荐(0) 编辑
摘要:求若干个仅由小写字母构成的字符串的最长公共子串。 阅读全文
posted @ 2019-01-11 14:15 Tiw_Air_OAO 阅读(150) 评论(0) 推荐(0) 编辑
摘要:给定一个由小写字母构成的字符串。 多次询问。询问它相异子串中字典序第 K 小的子串。 阅读全文
posted @ 2019-01-11 13:52 Tiw_Air_OAO 阅读(108) 评论(0) 推荐(0) 编辑
摘要:给定一个由小写字母构成的圆环形的字符串(即首字母和末字母是相连的)。 让你找到一个位置将这个圆环形的串断开成为一个序列形的串,使得这个字符串字典序最小。如果有多个,输出位置最靠前的那一个。 阅读全文
posted @ 2019-01-10 20:36 Tiw_Air_OAO 阅读(98) 评论(0) 推荐(0) 编辑
摘要:给定一个仅包含小写字母的字符串 S,对于每一个 i 满足 1 <= i <= |S|,求长度为 i 的,在 S 中出现次数最多的串出现了多少次? 阅读全文
posted @ 2019-01-10 19:39 Tiw_Air_OAO 阅读(145) 评论(0) 推荐(0) 编辑
摘要:求两个仅由小写字母构成的字符串的最长公共子串。 阅读全文
posted @ 2019-01-10 19:11 Tiw_Air_OAO 阅读(167) 评论(0) 推荐(0) 编辑
摘要:后缀自动机(Suffix Automaton,简称 SAM)是一个概念比较抽象,构造方法比较抽象,复杂度证明也比较抽象,让初学者体验感极差的字符串相关的算法。体验感差归差,但是关键是,这个东西应用倒是很广泛。它能够实现识别某一个串的后缀,或者是统计某一个串的子串出现次数,或者对多个串同时进行处理与匹配。更重要的是——这个算法是少见的线性算法,是一个时间性能非常优秀的算法。 阅读全文
posted @ 2019-01-06 15:03 Tiw_Air_OAO 阅读(639) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示