问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行。你的程序还需支持大小写敏感选项:当选项打开时,表示同一个字母的大写和小写看作不同的字符;当选项关闭时,表示同一个字母的大写和小写看作相同的字符。 输入格式 输入的第一行包含一个字符串S,由大小写英文字母组成。 第二行包含一个数字 ...
分类:
其他好文 时间:
2020-02-26 22:52:58
阅读次数:
109
题意: 给n个模式串,m个匹配串,问是否有只与匹配串相差一个字符的模式串 思路: 直接上Tire,正常插入模式串 匹配时往该节点的儿子节点进行正常匹配,若能匹配成功,就输出YES #include<iostream> #include<algorithm> #include<cstring> #in ...
分类:
其他好文 时间:
2020-02-25 23:34:30
阅读次数:
116
1、正则表达式-教程 正则表达式:文本模式,包括普通字符(例如,a到z之间的字母)和特殊字符(称为元字符)。 正则表达式使用单个字符串来描述,匹配一系列匹配某个句法规则的字符串。 2、正则表达式-语法 正则表达式描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配 ...
分类:
其他好文 时间:
2020-02-25 23:20:35
阅读次数:
89
问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行。你的程序还需支持大小写敏感选项:当选项打开时,表示同一个字母的大写和小写看作不同的字符;当选项关闭时,表示同一个字母的大写和小写看作相同的字符。 输入格式 输入的第一行包含一个字符串S,由大小写英文字母组成。 第二行包含一个数字 ...
分类:
其他好文 时间:
2020-02-25 13:16:29
阅读次数:
96
暴力匹配算法虽然写起来简单但是效率太低了,一旦出现不匹配就要从头匹配,怎么能让字符串匹配不对的时候有效的往后移动呢?这时候就出现3个大神,分别提出最后联合发表了这个算法——KMP算法,有效的解决了这个问题。 KMP算法的核心就是如何有效的后移,这张表的计算方法如下 如字符串:A B C D A B ...
分类:
编程语言 时间:
2020-02-25 11:15:19
阅读次数:
79
2020-02-20 16:14:05 给定字符串str,其中绝对不含有字符’.’和’*’。再给定字符串exp,其中可以含有’.’或’*’,’*’字符不能是exp的首字符,并且任意两个’*’字符不相邻。exp中的’.’代表任何一个字符,exp中的’*’表示’*’的前一个字符可以有0个或者多个。请写一 ...
分类:
其他好文 时间:
2020-02-20 16:52:06
阅读次数:
119
"CF113B Petr " 大概就是字符串匹配加一个字符串哈希判重。懒得打kmp,就用字符串哈希匹配了。 字符串哈希大概就是把字符串转成一个p进制的数,每一段字符串都有一个对应的哈希值。p尽量取质数 ...
分类:
其他好文 时间:
2020-02-16 20:56:44
阅读次数:
90
KMP算法 关于字符串匹配的算法,最知名的莫过于KMP算法了,尽管我们日常搬砖几乎不可能去亲手实现一个KMP算法,但作为一种算法学习的锻炼也是很好的,所以记录一下。 KMP算法是根据三位作者(D.E.Knuth, J.H.Morris和V.R.Pratt)的名字来命名的,算法的全称是Knuth Mo ...
分类:
编程语言 时间:
2020-02-16 16:35:12
阅读次数:
103
不管是PHP、Python还是JAVA等编程语言,在使用字符串匹配过程中,正则表达匹配往往是首选。下面是个人总结的关于正则表达的基本知识。初学往往只是基础,关键在于实践。 ...
分类:
其他好文 时间:
2020-02-16 12:41:26
阅读次数:
60
题意 有n个字符串,记为s1,s2……sn,s2与s1合并,合并的方式为:s1的后缀若与s2的前缀相同,就可以重叠起来,要最长的。 举个例子: “1333” “33345” → “133345” s1与s2合并后产生的字符串,再与s3合并,以此类推。 思路 两个字符串的子串匹配,比较容易想到哈希。 ...
分类:
其他好文 时间:
2020-02-12 16:12:06
阅读次数:
69