码迷,mamicode.com
首页 >  
搜索关键字:模式串    ( 684个结果
D - Searching the String (AC自动机)
题目链接:https://cn.vjudge.net/contest/281961#problem/D 题目大意:给你一个模式串,然后给你多个匹配串,匹配串的类型是包括可以覆盖的以及不可覆盖的。 具体思路:对于可以覆盖的字符串,我们就按照以前的方法来就行了,对于不可以覆盖的字符串,我们通过两个数组, ...
分类:其他好文   时间:2019-02-09 15:16:34    阅读次数:185
[TJOI2017]DNA——后缀数组求LCP
题目大意: 给定一个文本串和一个模式串,求文本串中有多少个连续的子串和模式串相差不超过三个字符。 思路: 算是一道后缀数组的模板题。 直接做lcp,然后遇到匹配不上的就跳,跳的次数不能超过三次。 具体地,将两个字符串连在一起,中间加一个分隔符,然后求出height,用rmq维护height数组的区间 ...
分类:编程语言   时间:2019-02-06 12:04:32    阅读次数:241
题解-牛奶模式
(〇)题目描述 "题目传送门" 简单讲解一下题意: 给出一个字符串,求最长至少出现了 $k$ 的子串(可重叠)。 (一)解题思路 这题需要我们在一个模式串中找相同的子串,很容易就能想到后缀数组。 那么,如何找至少重复出现 $k$ 次的子串呢? 考虑 二分子串的长度 ,看看答案是否具有单调性。 如果长 ...
分类:其他好文   时间:2019-02-03 18:11:59    阅读次数:184
(原创)白话KMP算法(续)
第二章:KMP改良算法 第一章里面我们讲完了KMP算法的next数组实现法,回忆一下其实最重要的内容无非就是一、理解 i 指针无用回溯的意义,二、理解 j 指针的定位和模式串中每个元素重复度的关系,三、对next数组从观察到代码实现一条蛇式的理解掌握。 ps:文末有彩蛋哦。 自从BF暴力算法下岗之后 ...
分类:编程语言   时间:2019-02-03 12:17:15    阅读次数:234
UVALive - 3490 Generator (AC自动机+高斯消元dp)
初始有一个空串s,从前n个大写字母中不断随机取出一个字母添加到s的结尾,出现模式串t时停止,求停止时s的长度期望。 比较无脑的方法是对模式串t建一个单串AC自动机,设u为自动机上的一个结点,dp[u]为从该结点出发走到终结状态时的期望步数,则dp[u]=∑(1+dp[v])/n,v为u的后继状态。特 ...
分类:其他好文   时间:2019-02-01 12:17:37    阅读次数:212
KMP算法介绍
简介 KMP算法是D.E.Knuth、J.H.Morris和V.R.Pratt共同提出的,称之为Knuth-Morris-Pratt算法,简称KMP算法。该算法与Brute-Force算法相比有较大改进,主要是消除了主串指针的回溯,从而使算法效率有了某种程度的提高。 实现 1、从模式串t中提取加速匹 ...
分类:编程语言   时间:2019-01-30 19:11:11    阅读次数:188
KMP
假设我们面临这样一个问题:有一个文本串S,和一个模式串P,现在要查找P在S中的位置,怎么查找呢? 如果用暴力匹配 的思路 ,并假设现在文本串S匹配到i位置,模式串P匹配到j位置,则有: ?如果当前字符匹配成功(即S[i]==P[j]) 如果S[5]和P[1]匹配成功,继续执行第一条 匹配失败;j=n ...
分类:其他好文   时间:2019-01-27 10:47:48    阅读次数:181
【模板】AC自动机
自适应AC自动机! 其实就是重载运算符。 感觉别人写的自动机下标之间太多累赘的东西,不如重载运算符。方便编写。 实际上AC自动机就是字典树加上$kmp$算法的精髓,可以对于一个文本串快速匹配多个模式串。时间复杂度$O(\Sigma n+m)$。 cpp include define RP(t,a,b ...
分类:其他好文   时间:2019-01-26 17:53:40    阅读次数:181
字符串匹配(二)----KMP算法
什么是KMP算法: KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt同时发现,因此人们称它为克努特——莫里斯——普拉特操作(简称KMP算法)。KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是实 ...
分类:编程语言   时间:2019-01-24 01:17:15    阅读次数:220
HDU-1711-Number Sequence(模式串匹配)
Rabin-Karp Accepted 1711 904MS 5272K 1310 B G++ #include "bits/stdc++.h" using namespace std; typedef long long LL; const int MAXN = 1e6 + 5; const in ...
分类:其他好文   时间:2019-01-23 17:17:11    阅读次数:197
684条   上一页 1 ... 11 12 13 14 15 ... 69 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!