随笔分类 -  字符串

摘要:【字符串】【P5830】 【模板】失配树 Description 给定一个长度为 n 的字符串 S,有 m 次询问,每次询问给定 S 的两个前缀,求它们的最长公共 的长度。 最长公共 的含义为,对于一个字符串 T,设其 集合为所有既是 S 的前缀子串又是 S 的后缀子串的 阅读全文
posted @ 2019-12-18 23:49 一扶苏一 阅读(373) 评论(0) 推荐(0) 编辑
摘要:后缀排序 Task Description 给定一个字符串,要求按字典序升序输出它的所有后缀子串的第一个字符所在位置。 Requirements & Limitations 字符集大小为常数,要求时间复杂度 O(nlogn),其中 n 为字符串长度 Algorithm 这就是大(ren 阅读全文
posted @ 2019-10-25 19:21 一扶苏一 阅读(2212) 评论(0) 推荐(1) 编辑
摘要:Algorithm Task 给定一个字符串,求其最长回文子串 Limitations 要求时空复杂度均为线性且与字符集大小无关。 Solution 考虑枚举回文串的对称轴,将其对应的最长回文子串长度 len 求出来,取最大值即为答案。 首先回文串有两种,长度为奇数的和长度为偶数的,第一种的对称 阅读全文
posted @ 2019-09-12 01:28 一扶苏一 阅读(224) 评论(0) 推荐(0) 编辑
摘要:Description 给定一个字符串 S,对每个前缀求长度不超过该前缀一半的公共前后缀个数。 共有 T 组数据,每组数据的输出是 O(1) 的。 Limitations 1|S|106, 1T5 Solution ~~好水的NOI题 阅读全文
posted @ 2019-09-08 01:40 一扶苏一 阅读(335) 评论(0) 推荐(1) 编辑
摘要:【border相关】【P3426】 [POI2005]SZA Template Description 给定一个字符串 S,要求一个最短的字符串 T,使得 S 可以由 T 不断在后面接上自身得到。在拼接的时候, T 的某个后缀如果与某个前缀相同,则相同的部分可以算作一个,不再重复 阅读全文
posted @ 2019-09-06 02:43 一扶苏一 阅读(238) 评论(0) 推荐(0) 编辑
摘要:Z algorithm Algorithm Task 给定一个文本串 S 和一个模式串 T,求 T 对于 S 的每个后缀子串的公共前缀子串。 Limitations 要求时空复杂度均为线性 Solution 设 X 是一个字符串,则以下表述中,Xu 代表 X 的第 $u 阅读全文
posted @ 2019-09-05 03:26 一扶苏一 阅读(452) 评论(1) 推荐(0) 编辑
摘要:Algorithm Task 给定一个文本串 S 和一个模式串 T,求 TS 中出现的所有位置。 Limitations 要求时空复杂度均为线性。 Solution 回头重新学一遍~~看毛片~~ KMP 算法。 设 X 是一个字符串,则以下表述中,Xu 代表 X 阅读全文
posted @ 2019-09-04 03:56 一扶苏一 阅读(350) 评论(0) 推荐(0) 编辑
摘要:Definition & Solution AC自动机是一种多模式串的字符串匹配数据结构,核心在于利用 指针在失配时将节点跳转到当前节点代表字符串的最长后缀子串。 首先对 模式串 建出一棵 树,考虑树上以根节点为一个端点的每条链显然都对应着某一模式串的一个前缀子串,以下以树上的每个节点来代指从根节点 阅读全文
posted @ 2019-04-15 22:51 一扶苏一 阅读(526) 评论(0) 推荐(2) 编辑
摘要:Description 有 k 个长度为 n 的只含 ab 字符串,并不知道它们具体是多少,只知道它们的字典序不小于字符串 A,同时不大于字符串 B。定义一个字符串是合法的当且仅当它是这 k 个字符串之一的前缀(如果它是多个串的前缀那么只计算一次)。求合法的字符串最 阅读全文
posted @ 2019-01-07 20:05 一扶苏一 阅读(331) 评论(0) 推荐(0) 编辑
摘要:Definition 定义一个回文串为从字符串两侧向中心扫描时,左右指针指向得字符始终相同的字符串。 使用manacher算法可以在线性时间内求解出一个字符串的最长回文子串。 Solution 考虑回文串有两种:第一种对称轴在两字符之间,另一种对称轴在一个字符中心。这样分情况讨论十分不方便,我们使用 阅读全文
posted @ 2018-12-05 17:21 一扶苏一 阅读(202) 评论(0) 推荐(1) 编辑
摘要:"百度百科" Definition KMP算法是一个字符串匹配算法。他接收两个字符串A,B,返回BA中出现的所有位置。 以下称需要被匹配的串A为主串,可能在主串中多次出现的串B为模式串。约定主串的长度为n,模式串的长度为m。 朴素的想法显然是对使用两个指针i,j 阅读全文
posted @ 2018-10-30 18:12 一扶苏一 阅读(228) 评论(0) 推荐(0) 编辑

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