题目链接 题意: 求一个字符串每个前缀的最小后缀的下标。 思路: 可以使用Lyndon分解来做。因为一个字符串进行Lyndon分解后,最小的后缀一定是最后一个Lyndon串。 在运行Duval算法求Lyndon分解的过程中,每次在最后加入一个字符,我们就可以求出以该字符结尾的前缀的最小后缀。 cin Read More
posted @ 2020-10-13 21:08 Ldler Views(76) Comments(0) Diggs(0) Edit
题目链接 题意:给定一个字符串,求重复次数最多的连续重复子串 题目思路:先穷举长度L,然后求长度为L的子串最多能连续出现几次。首先连续出现1次是肯定可以的,所以这里只考虑至少2次的情况。假设在原字符串中连续出现2次,记这个子字符串为S,那么S肯定包括了字符r[0], r[L], r[L2],r[L3 Read More
posted @ 2020-10-13 20:02 Ldler Views(82) Comments(0) Diggs(0) Edit
题目链接 题意: 有N(1 ⇐ N ⇐20000)个音符的序列来表示一首乐曲,每个音符都是1..88范围内的整数,现在要找一个重复的主题。“主题”是整个音符序列的一个子串,它需要满足如下条件: 1.长度至少为5个音符。 2.在乐曲中重复出现。(可能经过转调,“转调”的意思是主题序列中每个音符都被加上 Read More
posted @ 2020-10-13 16:50 Ldler Views(57) Comments(0) Diggs(0) Edit
题目链接 题意:求字符串中出现至少 k 次的子串的最大长度 思路:出现至少k次意味着后缀排序后有至少连续k个后缀的 LCP 是这个子串。 所以,求出每相邻k-1个height[i]的最小值,再求这些最小值的最大值就是答案。 这里用的是multiset维护最小值。 #include<bits/stdc Read More
posted @ 2020-10-13 14:21 Ldler Views(59) Comments(0) Diggs(0) Edit