摘要: 题意 : 给出两个字符串,现在需要求一个和sum,考虑第二个字符串的所有后缀,每个后缀对于这个sum的贡献是这个后缀在第一个字符串出现的次数*后缀的长度,最后输出的答案应当是 sum % 1e9+7 分析 : 有两种做法,如果会拓展KMP的话可以说这就是一道模板题了,拓展KMP专门就是找最长公共前缀 阅读全文
posted @ 2017-09-22 21:48 qwerity 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 题意 : 一个字符串的前缀是指包含该字符第一个字母的连续子串,例如:abcd的所有前缀为a, ab, abc, abcd。给出一个字符串S,求其所有前缀中,字符长度与出现次数的乘积的最大值。例如:S = "abababa" 所有的前缀如下: "a", 长度与出现次数的乘积 1 * 4 = 4, "a 阅读全文
posted @ 2017-09-22 21:06 qwerity 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 题意 : 给你一个包含26个小写字母的明文密文转换信息字符串str,第一个表示'a'对应的密文是str[0]、'b'对应str[1]……以此类推。接下来一行给你一个另一个字符串,这个字符串由密文+明文组成,但是现在后面部分的明问可能有不完整的情况(也有可能缺失只包含密文),问你现在最少需要补充多多少 阅读全文
posted @ 2017-09-22 19:41 qwerity 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 废话不多说,上模板 #include<bits/stdc++.h> const int maxn = 1e6 + 10; int Next[maxn], extend[maxn], moL, strL;///Next数组、extend数组、模式串长度、母串长度 char mo[maxn], S[ma 阅读全文
posted @ 2017-09-22 16:02 qwerity 阅读(155) 评论(0) 推荐(0) 编辑