问题描述:给定字符串s与模式串p,其中p中的‘?‘可以匹配任意单个字符,‘*‘可以匹配任意字符串(包括空串),判断模式串是否匹配字符s全部(不是部分)。例子:isMatch("aa","a")→falseisMatch("aa","aa")→trueisMatch("aaa","aa")→falseisMatch("aa","*")→trueisMatch("aa"..
分类:
其他好文 时间:
2015-03-31 01:01:18
阅读次数:
149
KMP算法简单粗暴的代码,严密的逻辑,初学的时候,真的很难搞懂,不过曾力胜老师这周出的模式串匹配的变形题目,让我反思了一下KMP算法,昨天晚上写出了链表形式,也算是进步吧。昨天太急,没来得及记录,今天补充起来。/*Name: KMP之链表写法Date :2015/3/29Write by:杨领 *....
分类:
编程语言 时间:
2015-03-31 00:26:48
阅读次数:
406
KMP算法实现字符串的模式匹配的时间复杂度比朴素的模式匹配好很多,但是它时间效率的提高是有前提的,那就是:模式串的重复率很高,不然它的效率也不会凸显出来。在实际的应用中,KMP算法不算是使用率很高的一个算法,但是它的核心的那点东西却是使用率很高的,那就是next前缀数组的求解思路。在这次笔记中就单独...
分类:
编程语言 时间:
2015-03-20 18:01:54
阅读次数:
180
前面说到了字符串的模式匹配的暴力方法,同时在暴力方法的基础上做了一些改进:不让主串的匹配指针i回溯,通过发掘模式串的一些特性,不断的修改模式串的匹配指针。但是模式串的匹配指针怎么修改呢,那就得要结合其自身的一些特性,然后产生相应的修改值,记录在next[j]这个数组中。1. 寻找前缀后缀最长公共元素...
分类:
编程语言 时间:
2015-03-19 13:10:50
阅读次数:
290
在一个大的字符串中对一个小的子串进行定位成为字符串的模式匹配,这应该算是字符串中最重要的一个操作之一了。问题描述:有一个文本串s和一个模式串p,现在要查找p在s中的位置,怎么查找?如果用暴力匹配的思路,并假设文本串匹配到i位置,模式串匹配到j位置。算法描述:有关字符串的模式匹配,首先来看最简单的一个...
分类:
编程语言 时间:
2015-03-18 23:00:13
阅读次数:
221
AC自动机,其实就是Trie树与KMP的结合,且有dfa(有限状态机)的性质.
理解的关键点:
1. fail指针 起到回溯作用
2.每次匹配都是主串不动,移动指针now去回溯找后缀的前缀
3.一个优化点,将NULL指向root 编码更简单.
考察时一般也会问道dfa的性质.
AC自动机解决问题:
1.多模式串匹配
2.给定一个长度,满足XX条件能构造多少个.
ABCD ...
分类:
其他好文 时间:
2015-03-18 14:09:14
阅读次数:
138
串的模式匹配算法
子串的定位操作通常称为串的 模式匹配,其中T称为 模式串。
一般的求子串位置的定位函数(Brute Force)我写java的代码是这样的int index(String S,String T,int pos){
char[] s_arr = S.toCharArray();
char[] t_arr = T.toCharArray();...
分类:
编程语言 时间:
2015-03-15 18:28:53
阅读次数:
267
字符串也是ACM中的重头戏,基本内容有KMP ,扩展KMP, Manacher ,AC自动机,后缀数组,后缀自动机.按照专题来做共分三部分. LCS LIS LCIS不知道算不算....点击打开链接
小技巧:匹配问题不区分大小写,则将其全部转为小写.
暴力匹配: 用strstr函数就能解决 I M N Z(枚举长度 三份)
一.KMP算法
解决单一模式串匹配问题.
利用失配后...
分类:
其他好文 时间:
2015-03-15 12:31:10
阅读次数:
377
给定n个模式串在主串中出现了几个#include #include const int MAXPT=500007; //最大节点数const int size=26; //子节点数const char start='a'; //子节点标号对应关系 class Ac_Automat{pr...
分类:
其他好文 时间:
2015-03-15 00:35:39
阅读次数:
162
题意:给出多个加密的模式串,和多个待匹配的串,问每个串里出现了多少种模式串。加密方法是把每3bytes加密成按6bits一个对应成4个字符,对应方法题里给了。分析:除了解密之外,基本是个赤裸裸的AC自动机。这题要注意有多个模式串要进自动机,所以自动机的vis数组要每次清零。#include #inc...
分类:
其他好文 时间:
2015-03-13 22:20:02
阅读次数:
220