随笔分类 - 字符串 - KMP
摘要:题目描述 给定 和 ,求所有 长度为 ,字符集大小为 的字符串,每个前缀的最短循环节长度乘积 的总和。 题解 DFS+KMP 对于字符串中的每一种字符,将其看作:该字符第一次出现位置之前的字符种类数+1,把得到的序列称为“该字符
阅读全文
摘要:题目描述 给出字符串s1、s2、s3,找出一个字符串w,满足: 1、w是s1的子串; 2、w是s2的子串; 3、s3不是w的子串。 4、w的长度应尽可能大 求w的最大长度。 输入 输入有三行,第一行为一个字符串s1第二行为一个字符串s2, 第三行为一个字符串s3。输入仅含小写字母,字符中间不含空格。
阅读全文
摘要:题目描述 如果两个长度相等的字符串,如果存在一种字符的一一映射,使得第一个字符串的所有字符经过映射后与第二个字符串相同,那么就称它们“匹配”。现在给出两个串,求第一个字符串所有长度等于第二个字符串的长度的子串中与第二个字符串“匹配”的所有子串的位置。 输入 输入文件的第一行包含两个正整数case和C
阅读全文
摘要:题目描述 给出一个长度的字符串,求满足形似于()的子串数量。 输入 第一行一个字符串,第二行一个数 k 输出 仅一行一个数 ans,表示 QB 以及它的替身的数量 样例输入 aaaaa 1 样例输出 6 题解 KM
阅读全文
摘要:题目描述 给出两个长度分别为n、m的序列A、B,求出B的所有长度为n的连续子序列(子串),满足:序列中第i小的数在序列的Ai位置。 输入 第一行包含两个整数n, m (2≤n≤m≤1000000)。 第二行包含n个整数si,构成1,2,…,n的排列,1≤si≤n且si≠sj。 第三行包含m个整数hi
阅读全文
摘要:题目描述 一个串T是S的循环节,当且仅当存在正整数k,使得S是(即T重复k次)的前缀,比如abcd是abcdabcdab的循环节。给定一个长度为n的仅由小写字符构成的字符串S,请对于每个k(1<=k<=n),求出S长度为k的前缀的最短循环节的长度。字符串大师小Q觉得这个问题过
阅读全文
摘要:题目描述 近日,园长发现动物园中好吃懒做的动物越来越多了。例如企鹅,只会卖萌向游客要吃的。为了整治动物园的不良风气,让动物们凭自己的真才实学向游客要吃的,园长决定开设算法班,让动物们学习算法。 某天,园长给动物们讲解KMP算法。 园长:“对于一个字符串S,它的长度为L。我们可以在O(L)的时间内,求
阅读全文
摘要:原文地址:http://www.cnblogs.com/GXZlegend/p/6827027.html 题目描述 一个串是有限个小写字符的序列,特别的,一个空序列也可以是一个串. 一个串P是串A的前缀, 当且仅当存在串B, 使得 A = PB. 如果 P A 并且 P 不是一个空串,那么我们说 P
阅读全文
摘要:题目描述 给你两个串A,B,可以得到从A的任意位开始的子串和B匹配的长度。给定K个询问,对于每个询问给定一个x,求出匹配长度恰为x的位置有多少个。N,M,K<=200000 输入 第一行三个数 N,M,K,表示A的长度、B的长度和询问数。第二行为串A。第三行为串B。接下来K行,每行1个数X。 输出
阅读全文