https://loj.ac/problem/2012 题目描述 给出n个字符串,他们有一定顺序,并且满足(设第i个字符串为s): ①若这n个字符串中有s的后缀,并且顺序在i之后,代价为n*n。 ②若这n个字符串中不存在s的后缀,代价为i。 ③若这n个字符串中存在s的后缀在i之前,并且假设最近的后缀 ...
分类:
其他好文 时间:
2019-10-07 21:40:51
阅读次数:
105
很有意思的一个题,理解了一整天嘤嘤嘤。 大体 ...
分类:
Web程序 时间:
2019-10-06 00:55:30
阅读次数:
89
https://loj.ac/problem/10047 题目描述 给出一个字符串S,求出其子串中满足ABA形式且|A|≥k,|B|≥1的数目。 思路 首先明确这道题n2暴力是可以过的,而题目中定义可以转化为A为子串的公共前后缀且长度大于k,小于整个子串长度的1/2,所以我们考虑用KMP来求公共前后 ...
分类:
其他好文 时间:
2019-10-05 12:51:07
阅读次数:
74
https://loj.ac/problem/10048 题目描述 给出两个字符串S和T,要求不断从S中删除T,删除T后空缺为补齐,求删完后的字符串。 思路 单字符串匹配,显然我们可以用KMP。先跑一遍KMP的板子,预处理匹配串。接下来就是匹配,由于可能会存在补齐空位后出现的匹配串,而多次扫描不知道 ...
分类:
其他好文 时间:
2019-10-04 23:01:19
阅读次数:
143
https://loj.ac/problem/10046 题目描述 定义字符串Q为字符串A的周期,当且仅当Q是A的前缀(不等于A),且A是QQ的前缀。求所有前缀的最大周期长度之和。 思路 我们看数据范围,显然要O(n)处理,所以我们对每一个前缀都应该用常数级的复杂度找到其最大周期。我们考虑周期的定义 ...
分类:
其他好文 时间:
2019-10-04 23:00:49
阅读次数:
136
https://loj.ac/problem/10045 题目描述 给出一个字符串,求最短循环节长度。 思路 KMP求最短循环节,跑一遍KMP即可。具体关于这个最短循环节的结论见Power Strings ...
分类:
其他好文 时间:
2019-10-04 22:46:51
阅读次数:
113
https://loj.ac/problem/10035 题目描述 给出一个字符串,求它的最小循环节。 思路 之前讲过Hash的做法,不过这也是KMP的模板题。 我们有结论:若n%(n - p [ n ])==0,最小循环节长度为n/(n - p [ n ]);否则就为它本身。 我们对着证明考虑两部 ...
分类:
其他好文 时间:
2019-10-04 22:35:23
阅读次数:
101
https://loj.ac/problem/10043 题目描述 给出两个字符串A和B,求A最多同时分成几个互不重叠的B。 思路 单字符串的匹配问题,可以考虑用KMP解决,属于模板题。 首先来介绍一下KMP,KMP是单字符串的匹配算法,即只有一个母串和一个匹配串。在进行匹配时,如果暴力枚举,时间复 ...
分类:
其他好文 时间:
2019-10-04 20:47:31
阅读次数:
97
https://loj.ac/problem/10042 题目描述 给出一段数字序列,求一段最长的连续的序列使其中的元素不重复。 思路 这道题显然想要我们给出O(n)的算法,所以我们考虑用双指针,每当有指针右移时,判断加入的数是否出现过,出现过就接改变左指针。二是否出现过我们可以用Hash表维护,不 ...
分类:
其他好文 时间:
2019-10-04 15:11:34
阅读次数:
77
https://loj.ac/problem/2452 题目描述 反对称串定义为进行0、1取反后再反过来和原串相同的字符串,给出一个字符串,求它的多少个子串是反对称串。 思路 首先我们从反对称串的定义入手,我们考虑如果一个串S为反对称串,显然它的长度是偶数,那么它也就是以它的对称轴为分割后将其前一部 ...
分类:
其他好文 时间:
2019-10-04 13:36:19
阅读次数:
82