什么是正则表达式? 比如,判断密码中是否有数字及字母,手机号是否为11位数字等等,完成这些复杂的查找操作,就要用到正则表达式来去匹配,正则表达式描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串,将匹配的子串做替换或者从某个串中取出某个条件的子串等。 正则表达式可以做什么? 数据隐藏:比 ...
分类:
其他好文 时间:
2018-03-12 12:05:00
阅读次数:
200
题目链接 ZOJ Monthly, March 2018 Problem G 题意 给定一个字符串。现在求一个下标范围$[0, n - 1]$的$01$序列$f$。$f[x] = 1$表示存在一种方案,删掉原字符串中的连续$x$个字母, 使得剩下的字符串中任意相邻的两个字母都不同。在这道题中所有的字 ...
分类:
其他好文 时间:
2018-03-11 21:09:54
阅读次数:
167
ac自动机通常用来解决多字符串匹配问题,如从字符串s找字符串t[i](i<=n),如果直接用KMP那么时间复杂度为,而用ac自动机时间复杂度为。 ac自动机可以认为是kmp和trie的结合,因为ac自动机就是在trie的基础上怎加了fail变量,fail指向的是当前字符串的最长后缀的尾节点, 作用就 ...
分类:
其他好文 时间:
2018-03-11 17:33:51
阅读次数:
140
KMP算法用于字符串匹配的,看到了一个非常通俗易懂的讲解,这里就转一下。 http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm.html ...
分类:
编程语言 时间:
2018-03-11 11:57:04
阅读次数:
142
本题思路简单 题目和代码如下: 问题描述 试题编号: 201409-3 试题名称: 字符串匹配 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行。你的程序还需支持大小写敏感选项:当选项打开时,表示同一个字母的大写和小 ...
分类:
其他好文 时间:
2018-03-10 20:33:58
阅读次数:
173
ccf 201409-3 字符串匹配(toupper,tolower) 问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行。你的程序还需支持大小写敏感选项:当选项打开时,表示同一个字母的大写和小写看作不同的字符;当选项关闭时,表示同一个字母的大写和小写看作相同的字符。 输入格式 ...
分类:
其他好文 时间:
2018-03-10 16:06:04
阅读次数:
197
题目传送门 - BZOJ4503 题意概括 给定两个字符串S和T,回答T在S中出现了几次,在哪些位置出现。注意T中可能有?字符,可以匹配任何字符。 题解 首先,假装你已经知道了这是一道$FFT$题。 考虑怎样$FFT$。 字符串匹配的时候,对于匹配成功的对应字母的编号(比如分别是$i$和$j$),满 ...
分类:
其他好文 时间:
2018-03-09 21:24:53
阅读次数:
259
模板传送门 KMP的模板,但是要输出Nxt,搞得朱洪dalao的优化打不了。(题外话) KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt同时发现,因此人们称它为克努特——莫里斯——普拉特操作(简称KMP算法)。KMP算法的关键是利用匹配失败后的信息 ...
分类:
其他好文 时间:
2018-03-09 13:19:12
阅读次数:
198
正则表达式描述了一种字符串匹配的模式(pattern),可以用来检查一串是否含有某种子串、将匹配的字串替换或者从某个串重取出符合某个条件的子串等。补充一句,这是前端必学的技能。 正则表达式由两种基本字符类型组成: 原义文本字符 => 比如"abc"就是原义文本字符,只是匹配"abc"这个字符串,当我 ...
分类:
Web程序 时间:
2018-03-08 02:42:40
阅读次数:
232
一个字符串“FBCABCDABABCDABCDABYW”中是否包含另外一个字符串“ABCDABY”? 上面这道题目是一个经典的字符串匹配的题目,对于字符串匹配,比较好的算法里很容易想到KPM算法,那KPM算法是干什么的?为什么说KPM比较优秀? 给定一个字符串O和F,长度分别是m、n,判断F是否在O ...
分类:
编程语言 时间:
2018-03-07 23:56:18
阅读次数:
539