
KMP
csu_xiji
这个作者很懒,什么都没留下…
展开
-
力扣 214. 最短回文串 字符串hash/KMP算法
https://leetcode-cn.com/problems/shortest-palindrome/思路:思路其实很简单,因为只能在字符串的头部添加字符,所以我们只要找到下标从0开始的最长回文串s1s_1s1,假设后面部分为s2s_2s2,那么答案就等于reverse(s2)+sreverse(s_2)+sreverse(s2)+s。怎么在线性复杂度内找到s1s_1s1呢?我们有两种方法,第一种方法是利用hashhashhash,通过定义进制数和模数,我们可以将一个字符串表示成数字,比如进原创 2020-09-09 02:54:16 · 352 阅读 · 0 评论 -
力扣 459. 重复的子字符串 kmp求循环节/思维
https://leetcode-cn.com/problems/repeated-substring-pattern/思路一:kmp,详见:https://blog.youkuaiyun.com/xiji333/article/details/88614354。class Solution {public: bool repeatedSubstringPattern(string s) { int siz=s.size(); if(!siz) r原创 2020-09-07 15:56:03 · 232 阅读 · 0 评论 -
计蒜客 A1909 Clock Pictures 思维+KMP
https://nanti.jisuanke.com/t/A1909题目大意:给两个钟表的指针表示,每个钟表都有nnn个指针,aia_iai代表第一个钟表第iii个指针的角度,bib_ibi同理,问这两个钟表有没有可能表示的是同一个时间,也即将bbb的指针同时旋转某一个角度后,bbb和aaa完全重合。思路:KMPKMPKMP,不难想到如果相邻两个指针的角度之差可以匹配上,那么就是有解的。...原创 2020-03-14 01:40:26 · 172 阅读 · 0 评论 -
POJ 3080 Blue Jeans 暴力+KMP
https://vjudge.net/problem/POJ-3080题目大意:ttt组数据,每组给nnn个长度均为606060的字符串,求它们的最长公共子串,若有多个答案则输出字典序最小的。思路:枚举第一个字符串的所有字串,求出它的nextnextnext数组,然后用kmpkmpkmp算法与其它的字符串进行配对,最后更新答案。#include<iostream>#inclu...原创 2020-03-14 00:43:20 · 136 阅读 · 0 评论 -
2019亚洲区域赛徐州网络赛 D Carneginon KMP算法
https://nanti.jisuanke.com/t/41386Carneginon was a chic bard. But when he was young, he was frivolous and had joined many gangs. Recently, Caneginon was to be crowned, because the king was shocked by...原创 2019-09-07 18:43:19 · 487 阅读 · 0 评论 -
扩展KMP算法详解
算法描述:设字符串T,长度为n,字符串S,长度为m。在线性时间内求出S关于T的每一个后缀的最长公共前缀。关键部分:两个数组(下标均从0开始),第一个next数组,next[i]表示从S[i]开始的后缀与S的最长公共前缀的长度。第二个数组extend,extend[i]表示从T[i]开始的后缀与S的最长公共前缀的长度。核心思想:同KMP算法的思想一样,充分利用前面已经部分匹配的信息。如何...原创 2019-08-06 10:29:26 · 275 阅读 · 0 评论 -
HDU 3746 KMP算法
http://acm.hdu.edu.cn/showproblem.php?pid=3746CC always becomes very depressed at the end of this month, he has checked his credit card yesterday, without any surprise, there are only 99.9 yuan left...原创 2019-03-22 13:36:29 · 169 阅读 · 0 评论 -
HDU 1686 KMP
http://acm.hdu.edu.cn/showproblem.php?pid=1686The French author Georges Perec (1936–1982) once wrote a book, La disparition, without the letter 'e'. He was a member of the Oulipo group. A quote from...原创 2019-03-22 00:19:36 · 136 阅读 · 0 评论 -
HDU 1358 KMP循环节
http://acm.hdu.edu.cn/showproblem.php?pid=1358For each prefix of a given string S with N characters (each character has an ASCII code between 97 and 126, inclusive), we want to know whether the pref...原创 2019-03-21 22:01:17 · 131 阅读 · 0 评论 -
HDU 1711 KMP
http://acm.hdu.edu.cn/showproblem.php?pid=1711Given two sequences of numbers : a[1], a[2], ...... , a[N], and b[1], b[2], ...... , b[M] (1 <= M <= 10000, 1 <= N <= 1000000). Your task is...原创 2019-03-17 21:16:16 · 107 阅读 · 0 评论 -
CSU 1598 KMP
http://acm.csu.edu.cn:20080/csuoj/problemset/problem?pid=1598给定两个字符串s和t,现有一个扫描器,从s的最左边开始向右扫描,每次扫描到一个t就把这一段删除,输出能发现t的个数。Input第一行包含一个整数T(T<=50),表示数据组数。每组数据第一行包含一个字符串s,第二行一个字符串t,字符串长度不超过1000...原创 2019-03-17 21:12:52 · 129 阅读 · 0 评论 -
KMP算法
先扯一些有的没的:模式匹配:模式匹配是数据结构中字符串的一种基本运算,给定一个子串,要求在某个字符串中找出与该子串相同的所有子串,这就是模式匹配。(wiki)串的模式匹配的用处:1.在给定文本(文本串)中定位给定字符串(模式串) 2.查询模式串在文本串中的出现次数 3.给出字典库中的优先匹配串……先说一个朴素算法:Brute force算法(BF算法 暴风算法),是普通的模式...原创 2019-03-17 21:07:24 · 283 阅读 · 0 评论 -
HDU 2087 KMP
http://acm.hdu.edu.cn/showproblem.php?pid=2087一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢?Input输入中含有一些数据,分别是成对出现的花布条和小饰条,其布条都是用可见ASCII字符表示的,可见的ASCII字符有多少个,布条的花纹也有多少种花样...原创 2019-03-21 10:58:18 · 123 阅读 · 0 评论