后缀数组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 · 120 阅读 · 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 · 131 阅读 · 0 评论 -
POJ 1743 Musical Theme SA
POJ 1743Sample Input3025 27 30 34 39 45 52 60 69 79 69 60 52 45 39 34 30 26 22 1882 78 74 70 66 67 64 60 65 800Sample Output5题意 给你n个乐符 让你差分以后找到最长不重复连续子串做法 我们首先不能枚举答案 而是要二分需要用height...原创 2019-03-31 16:35:04 · 85 阅读 · 0 评论 -
POJ 3261 Milk Patterns SA
POJ 3261Sample Input8 212323231Sample Output4SourceUSACO 2006 December Gold题意:找出出现k次的可重叠的最长子串的长度思路:其实通过做几道后缀数组,那么这道题就是模板水题了,通过二分长度,然后分成若干组去寻找答案题意 问你出现大于等于k次的最长连续重叠子串长度做法 和POJ...原创 2019-03-31 16:53:41 · 107 阅读 · 0 评论 -
SPOJ 705/694 SA
题意【题目描述】给定一个字符串,计算其不同的子串个数。【输入格式】一行一个仅包含大写字母的字符串,长度<=50000【输出格式】一行一个正整数,即不同的子串个数。【样例输入】ABABA【样例输出】9可以用后缀数组求出每个后缀的height,然后由于height为当前后缀与前边后缀最长公共前缀的最小值,所以当前后缀的不同子串数为该后缀长度减去该后缀的heght...原创 2019-03-31 17:24:47 · 114 阅读 · 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 · 168 阅读 · 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 · 110 阅读 · 0 评论