kmp
tomjobs
别慌,慌也没用
展开
-
2018ICPC南京 Problem M. Mediocre String Problem(回文串,马拉车,扩展KMP)
题意:给你两个字符串s,ts,ts,t,要求从sss中找到一个子串和ttt的一个前缀拼起来,结果要是回文串。求多少种拼法。思路:借此题复习了一下字符串算法。首先sss中找到的子串可以分为两部分:s1+s2s1+s2s1+s2,s1s1s1一定是ttt一个前缀的逆反串,s2s2s2一定是个回文串。所以可以将一开始所给的sss串反一下,然后算出每个右端点iii对应回文串的个数,再找到[i+1,len][i+1,len][i+1,len]部分与ttt串的最长公共前缀,二者相乘就是答案。算回文串的过程.原创 2021-01-17 22:39:48 · 241 阅读 · 0 评论 -
2019湖南省赛 C.Distinct Substrings(哈希+二分,扩展KMP)
思路:串的最后加上i以后,实际上加上了n+1n+1n+1个串,我们要减去重复的子串个数。假设串加上iii后,对于长度为midmidmid的后缀发生重复,那么对于长度为1...mid−11...mid-11...mid−1的后缀也会发生重复,所以要判断有midmidmid个重复子串,实际就是判断新串长度为midmidmid的后缀和旧串某个长度为midmidmid的后缀发生重复。这个过程具有单调性,所以可以哈希+二分写。#include <cstdio>#include <cstri.原创 2020-11-11 21:08:44 · 199 阅读 · 0 评论 -
P5410 【模板】扩展 KMP(Z 函数)
思路:扩展kmp模板题,代码来自XHT#include <cstdio>#include <cstring>#include <iostream>#include <cstdlib>#include <cmath>#include <algorithm>#include <vector>using namespace std;typedef long long ll;typedef unsigned .原创 2020-11-11 23:48:37 · 346 阅读 · 0 评论 -
A.All with Pairs(Hash+Kmp) 2020牛客暑期多校训练营(第二场)
题目都很短就懒得写题意了。思路:把每个字符的后缀都用hash表示然后用map存起来算数目。统计的时候,对于当前的前缀我们可以算出其在后缀中出现的次数。但问题是这样可能有重复。解决办法是:cnt[next[i]]−=cnt[i]cnt[next[i]] -= cnt[i]cnt[next[i]]−=cnt[i]因为假设p1是p2的最长公共前后缀,那么p2对于出现的后缀,被p1对应出现的后缀包含,且不能用,所以减掉。至于为什么只需要找最长公共前后缀,而不需要找到所有将p1作为后缀的串,是因为如果.原创 2020-07-14 16:40:17 · 255 阅读 · 0 评论 -
Codeforces 432 D. Prefixes and Suffixes(KMP+DP)
You have a string s = s 1 s 2…s |s|, where |s| is the length of string s, and s i its i-th character.Let’s introduce several definitions:A substring s[i…j] (1 ≤ i ≤ j ≤ |s|) of string s is string s i s i + 1…s j.The prefix of string s of length l (1 ≤ l原创 2020-07-11 09:53:13 · 281 阅读 · 0 评论 -
Count the string HDU3336(KMP+DP,统计前缀数目)
Problem DescriptionIt is well known that AekdyCoin is good at string problems as well as number theory problems. When given a string s, we can write down all the non-empty prefixes of this string. For example:s: “abab”The prefixes are: “a”, “ab”, “aba”,原创 2020-07-11 09:48:32 · 285 阅读 · 0 评论 -
Om Nom and Necklace CodeForces - 526D(KMP找循环节)
One day Om Nom found a thread with n beads of different colors. He decided to cut the first several beads from this thread to make a bead necklace and present it to his girlfriend Om Nelly.Om Nom knows that his girlfriend loves beautiful patterns. That’s原创 2020-05-14 22:28:51 · 399 阅读 · 0 评论 -
BZOJ3942: [Usaco2015 Feb]Censoring(KMP)
DescriptionFarmer John has purchased a subscription to Good Hooveskeeping magazine for his cows, so they have plenty of material to read while waiting around in the barn during milking sessions. Unfo...原创 2020-01-25 18:03:24 · 372 阅读 · 0 评论 -
剪花布条 HDU - 2087(KMP多少个不重叠子串)
一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢?Input输入中含有一些数据,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可见的ASCII字符有多少个,布条的花纹也有多少种花样。花纹条和小饰条不会超过1000个字符长。如果遇见#字符,则不再进行工作。Output输出能从花...原创 2019-10-08 21:26:08 · 223 阅读 · 0 评论 -
Power Strings POJ - 2406(kmp求循环节)
Given two strings a and b we define ab to be their concatenation. For example, if a = “abc” and b = “def” then ab = “abcdef”. If we think of concatenation as multiplication, exponentiation by a non-ne...原创 2019-10-08 20:33:38 · 215 阅读 · 0 评论