
后缀数组SA
ljq真的不能再吃了
珍惜每一天
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
洛谷P3809 SA
P3809 学习算法都是要从板子题开始哒 输入sa[i]+1即可啦 /* if you can't see the repay Why not just work step by step rubbish is relaxed to ljq */ #include <cstdio> #include <cstring> #includ...原创 2019-03-31 14:05:17 · 319 阅读 · 0 评论 -
POJ 2774 Long Long Message SA
POJ 2774 题意 给你两个长度为1e5的字符串 问你最长公共子串的长度是多少 只要两个sa[i]在不同子串中用height数组更新答案即可 只需要相邻 因为越多答案越小 min函数的单调性 当满足 sa[i]<len1&&sa[i-1]>len1 || sa[i]>len1&&sa[i-1]<len1 即可更新答案 /* ...原创 2019-03-31 14:23:32 · 173 阅读 · 0 评论 -
POJ 1743 Musical Theme SA
POJ 1743 Sample Input 30 25 27 30 34 39 45 52 60 69 79 69 60 52 45 39 34 30 26 22 18 82 78 74 70 66 67 64 60 65 80 0 Sample Output 5 题意 给你n个乐符 让你差分以后找到最长不重复连续子串 做法 我们首先不能枚举答案 而是要二分 需要用height...原创 2019-03-31 16:35:04 · 126 阅读 · 0 评论 -
POJ 3261 Milk Patterns SA
POJ 3261 Sample Input 8 2 1 2 3 2 3 2 3 1 Sample Output 4 Source USACO 2006 December Gold 题意:找出出现k次的可重叠的最长子串的长度 思路:其实通过做几道后缀数组,那么这道题就是模板水题了,通过二分长度,然后分成若干组去寻找答案 题意 问你出现大于等于k次的最长连续重叠子串长度 做法 和POJ...原创 2019-03-31 16:53:41 · 148 阅读 · 0 评论 -
SPOJ 705/694 SA
题意 【题目描述】 给定一个字符串,计算其不同的子串个数。 【输入格式】 一行一个仅包含大写字母的字符串,长度<=50000 【输出格式】 一行一个正整数,即不同的子串个数。 【样例输入】 ABABA 【样例输出】 9 可以用后缀数组求出每个后缀的height,然后由于height为当前后缀与前边后缀最长公共前缀的最小值,所以当前后缀的不同子串数为该后缀长度减去该后缀的heght...原创 2019-03-31 17:24:47 · 151 阅读 · 0 评论 -
URAL 1297 SA
URAL 1297 题意 求回文串 跟求在两个串里面的最长公共子串求法一样 但是要特判 n-maxx!=height[i]+minn 的时候需要continue掉 因为对着的位置不同 就不能回文 /* if you can't see the repay Why not just work step by step rubbish is relaxed to ...原创 2019-03-31 18:35:30 · 218 阅读 · 0 评论 -
POJ 2406 Power Strings SA-DC3
POJ2406 题意 求连续重复子串 做法 我们只要枚举长度 判断字符串是否能除以该长度 然后判断一下 Rank[i]+1是否等于Rank[0] 因为其实就是第i个子串和第1个子串必须高度重合 然后之间还差了n-k长度 然后倍增会TLE DC3算法能过 #include<iostream> #include<cstdio> #include<cstring> #...原创 2019-04-01 15:24:59 · 147 阅读 · 0 评论