
ACM_RMQ
文章平均质量分 77
Gatevin
这个作者很懒,什么都没留下…
展开
-
POJ 3693 Maximum repetition substring 后缀数组 + RMQ预处理
题目大意: 定义一个字符串的repetition number表示这个字符串某个重复出现的子串的出现次数, 每次出现不重合比如abababab是ab重复4次其repetition number是4, 而ababa包含两个有重叠的‘aba’, 只能算repetition number是1(1个‘ababa') 给出一个长度不超过100,000的字符串,求出这个字符串的所有子串中repetitio原创 2015-02-09 13:13:51 · 703 阅读 · 0 评论 -
SPOJ 687 REPEATS Repeats 后缀数组 + RMQ预处理
题目大意: 对于给出的字符串(长度 大致思路: 就是POJ 3693那题的简单版本....不需要找到字典序最小的.... 首先有这样一个事实: 对于任何一个子串, repetition number >= 1, 所以对于repetition number为1的只需要找到字典序最小的那个字母即可, 那么我们只考虑repetition number >= 2的情况, 如果每一个循环节的原创 2015-02-09 15:53:54 · 1136 阅读 · 0 评论 -
Codeforces 514D R2D2 and Droid Army RMQ问题
题目大意: 就是现在对于一个m行n列的矩阵, 每次可以选择m行中的任意一行的正整数-1,最多选择k次, 如果某一列中的m个数全部成为了0, 那么这一列算作被破坏, 求被破坏的连续的列 最长是多少列, 并且输出选择各行的次数 (m 大致思路: 就是RMQ预处理一下每一行的所有数, 然后二分能够找到的长度判断是否可行即可, 很简单的RMQ问题 代码如下: Result :原创 2015-02-25 22:34:21 · 981 阅读 · 0 评论 -
ZOJ 3199 Longest Repeated Substring 后缀数组 + RMQ预处理
题目大意: 给定多个长度不超过50000的字符串, 求最长的重复子串的长度, 最长重复子串s定义为, 在s出现之后紧跟这又出现一次的串(两次出现相邻但没有交集) 大致思路: 很容易想到用后缀数组来做, 从长到短枚举长度即可, 由于长度为L的串必定覆盖s[0], s[L], s{2*L]...s[k*L]中的恰好一个, 所以就可以用一个很常见的枚举来O(nlogn)解决这个问题了 细原创 2015-03-10 17:09:39 · 741 阅读 · 0 评论