喵星球上的点名: 对于字符串的匹配问题,可以考虑把文本、模式串串起来,然后处理SA数组。中间加上不同的“挡板字符”防止两个不同的串被以为是一个串匹配($ab$、$aba$)。但是一个后缀串还是会和另一个串匹配多次。对于点名串,它叫到的名字的$lcp$不小于点名串的长度,那么可以单调栈求控制范围了,对 ...
分类:
其他好文 时间:
2019-12-29 10:45:54
阅读次数:
77
正则表达式就是字符串的匹配规则,在多数编程语言里都有相应的支持,python里对应的模块是re 常用的表达式规则 '.' 默认匹配除\n之外的任意一个字符,若指定flag DOTALL,则匹配任意字符,包括换行 '^' 匹配字符开头,若指定flags MULTILINE,这种也可以匹配上(r"^a" ...
分类:
其他好文 时间:
2019-12-20 01:08:42
阅读次数:
67
正则(regular expression)描述了一种字符串的匹配式。一般应用在一些方法中,用一些特殊的符号去代表一些特定的内容,对字符串中的信息实现查找,替换,和提取的操作。js中的正则表达式用RegExp对象表示,有两种写法:一种是字面量写法,一种是构造函数写法。 一、定义正则表达式 字面量创建 ...
分类:
Web程序 时间:
2019-12-06 09:38:39
阅读次数:
112
https://loj.ac/problem/10043 题目描述 给出两个字符串$A$和$B$,求$A$最多同时分成几个互不重叠的$B$。 思路 单字符串的匹配问题,可以考虑用$KMP$解决,属于模板题。 首先来介绍一下$KM ...
分类:
其他好文 时间:
2019-11-03 18:12:31
阅读次数:
83
正则表达式对字符串的常见操作有:字符串的匹配、切割、替换、获取 正则表达式语法: 字符 说明 \ 将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,"n"匹配字符"n"。"\n"匹配换行符。序列"\\\\"匹配"\\","\\("匹配"("。 ^ 匹配输入字符串开始的位置。如果设置了 R ...
分类:
其他好文 时间:
2019-10-06 22:12:13
阅读次数:
110
https://loj.ac/problem/10043 题目描述 给出两个字符串A和B,求A最多同时分成几个互不重叠的B。 思路 单字符串的匹配问题,可以考虑用KMP解决,属于模板题。 首先来介绍一下KMP,KMP是单字符串的匹配算法,即只有一个母串和一个匹配串。在进行匹配时,如果暴力枚举,时间复 ...
分类:
其他好文 时间:
2019-10-04 20:47:31
阅读次数:
97
KMP自动机 分类:字符串 内容:详细版 前置知识 不会的可以点击链接(如果有)或者前往 "OI Wiki" 学习 KMP 一些约定 字符集大小默认为 模板字符串默认为 文本字符串默认为 指字符串 的长度 字符串下标默认从 开始 简介 KMP自动机主要用于字符串的匹配问题,预处理复杂度为 ,可以以严 ...
分类:
其他好文 时间:
2019-09-28 18:22:05
阅读次数:
71
就是使用KMP算法进行字符串的匹配,但是我发现我之前的kmp写的有问题,然后修补了一下板子漏洞2333 next数组含义: next[i]表示 到i为止,前缀 和 后缀 相同的个数 1 (为啥 1呢,比如 , ,这样的话,aabaab不是的话 就直接失配到aab,大概意思就是这样) c++ clas ...
分类:
其他好文 时间:
2019-06-03 12:39:51
阅读次数:
84
使用正则表达式 正则表达式相关知识 在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要,正则表达式就是用于描述这些规则的工具,换句话说正则表达式是一种工具,它定义了字符串的匹配模式(如何检查一个字符串是否有跟某种模式匹配的部分或者从一个字符串中将与模式匹配的部分提取出来或者替 ...
分类:
其他好文 时间:
2019-05-27 10:39:09
阅读次数:
122
字符串的匹配查询 re模块中的findall函数可以对指定的字符串进行遍历匹配,获取字符串中所有匹配的子串,并返回一个列表结果。该函数的参数含义如下: findall(pattern, string, flags=0) pattern :指定需要匹配的正则表达式。 string :指定待处理的字符串 ...
分类:
编程语言 时间:
2019-04-29 20:42:01
阅读次数:
112