" Milk Patterns " 题意 给出n个数字,以及一个k,求至少出现k次的最长子序列的长度 思路 和poj 1743思路差不多,二分长度,把后缀分成若干组,每组任意后缀公共前缀都 =当前二分的长度。统计是否有某个组后缀数量 =k,如果有当前长度就可以。 代码 ...
分类:
编程语言 时间:
2020-05-12 10:07:26
阅读次数:
64
"Musical Theme" 题意 给出n个1 88组成的音符,让找出一个最长的连续子序列,满足以下条件: 1. 长度大于5 2. 不重叠的出现两次(这里的出现可以经过变调,即这个序列的每个数字全都加上一个整数x) 思路 我们处理一下这个所谓的“变调”:令$a[i]=a[i+1] a[i]$,这样 ...
分类:
编程语言 时间:
2020-05-12 00:02:34
阅读次数:
84
参考了:victorique - 后缀数组 最详细讲解 比较基础的知识点,虽然有不少玩法 快速过掉后认真学SAM (mrfz周年池沉了,难受) ~ 后缀数组(SA)的定义 ~ 给定一个长度为$n$的字符串$s$,将其所有后缀$s[i...n]$按照字典序大小进行排序 我们的目标是求两个数组$sa,r ...
分类:
编程语言 时间:
2020-05-05 00:19:10
阅读次数:
68
传送门:SPOJ - PHRASES(后缀数组+二分) 题意:给你n个字符串,找出一个最长的子串,他必须在每次字符串中都出现至少两次。 题解:被自己蠢哭...记录一下自己憨憨的操作,还一度质疑评测鸡(哭... 首先是多个字符串的常规操作(目前写的题少,见到的都是这样)连成一个字符串,中间用不同的且没 ...
分类:
其他好文 时间:
2020-04-12 20:28:23
阅读次数:
70
[HAOI2016]找相同字符(广义SAM) 题面 给定两个字符串,求出在两个字符串中各取出一个子串使得这两个子串相同的方案数。两个方案不同当且仅当这两个子串中有一个位置不同。 分析 此题有一个比较繁琐的 "后缀数组做法" ,但是用广义SAM可以秒杀。 把两个串建成广义SAM,对于每个后缀,记录$e ...
分类:
其他好文 时间:
2020-04-03 19:58:07
阅读次数:
62
题意:求最小循环节循环的次数。 题解:这个题其实可以直接用kmp去求最小循环节,然后在用总长度除以循环节。但是因为在练后缀数组,所以写的后缀数组版本。用倍增法会超时!!所以改用DC3法。对后缀数组还不是很理解,找了很多博客也没看懂到底有些数组到底记录的是啥,但他的实现过程很好理解,等我弄懂了再来给博 ...
分类:
编程语言 时间:
2020-04-02 23:03:47
阅读次数:
168
作用有待更新.... 大佬博客:https://www.cnblogs.com/jinkun113/p/4743694.html; https://www.luogu.com.cn/problemnew/solution/P3809; 后缀数组: 复杂度:N(NlogN) 理论原理加模板: 后缀数组 ...
分类:
编程语言 时间:
2020-03-28 20:10:52
阅读次数:
85
LINK: "公共串" 给定n个串 求最长公共子串的长度。 可以广义SAM 求出类似于right集的表示分属某个串的东西可以直接暴力跳 当然这里n只有5 所以可以状压一下用按位或 来做 最后扫一下所有节点就行了。 但我打算使用SA来做 串在一起求SA 经典做法是二分 因为很难找到答案。 但是分析性质 ...
分类:
其他好文 时间:
2020-03-28 19:52:58
阅读次数:
70
确定性解法:后缀数组 众所周知 hash 由于不能完全避免冲突常常会被 cf hacker 卡掉,此题有更稳定的解法 考虑将原串进行简化,由于只有连续的 1 会造成不确定的匹配,可以只对 0 建立一个新串 对于一段连续的 1,后面的 0 建立新字符,如果有奇数个 1 就建立 1,偶数个就建立 0 例 ...
分类:
编程语言 时间:
2020-03-06 20:17:11
阅读次数:
71
Given two strings a and b we define a*b to be their concatenation. For example, if a = "abc" and b = "def" then a*b = "abcdef". If we think of concate ...
分类:
编程语言 时间:
2020-02-18 16:33:41
阅读次数:
88