![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
————SA
BAJim_H
比孤独更可悲的事情,就是根本不知道自己很孤独,或者分明很孤独,却把自己都骗得相信自己不孤独。
展开
-
[JZOJ1598]文件修复
Description有一个文件被破坏了,可是值得庆幸的是,只是文件的顺序被打乱了。文件仅包含大小写的拉丁字母以及逗号,句号和叹号。为了尽快修复,请你找出有多少个至少出现两次的子串。 比如字符串abbabc,子串”a”,”b”,”ab”分别出现了2次,3次,2次。Solution这是一道SASA的题目对于排好序的每个后缀 abbabc abc babc bbabc bc c 做到第ii个后缀时,我原创 2016-05-13 20:30:07 · 824 阅读 · 0 评论 -
后缀数组(SA)模版
#include<cstdio> #include<cstdlib> #include<cmath> #include<cstring> #include<iostream> #include<algorithm> #define fo(i,a,b) for(i=a;i<=b;i++) #define fod(i,a,b) for(i=a;i>=b;i--) using namespace std;原创 2016-05-13 20:45:22 · 616 阅读 · 0 评论 -
后缀数组(SA)学习小记
关于SASA这其实并不是一个特别高深的算法,但是有的性质需要自己多推一下,慢慢理解SASA可以在O(NlogN)O(N logN)的复杂度内完成对一个字符串完成后缀的排序,并且可以在O(N)的复杂度内求出排名相邻的两个后缀的最长公共前缀(LCPLCP),非常优秀的解决很多字符串问题。进入正题如果把每个后缀求出来,用快排之类的排序排是需要O(N2logN)O(N^2 log N)的复杂度的(因为还要一原创 2016-05-13 11:50:15 · 794 阅读 · 0 评论 -
[BZOJ4199][UOJ#131]【NOI2015】品酒大会
Description 给出一个长度为 n 的字符串,每一位有一个权值 val。定义两个位字符为 r 相似,是指分别从这两个字符开始,到后面的 r 个字符都相等。两个 r 相似的字符还有一个权值为这两个字符权值的乘积。问对于 r = 0, 1, 2, … , n - 1,统计出有多少种方法可以选出 2 个“r 相似”的字符,并回答选择 2 个”r 相似”的字符可以得到的权值的最大值。原创 2017-12-25 21:03:09 · 187 阅读 · 0 评论 -
[JZOJ6042]【NOI2019五校联考2019.3.5】Second【SA】【分治】
Description Solution 看到后缀lcp,自然而然想到SA的height数组。 然后在height上贪心一波? 由于后缀间lcp是区间height,自然而然想到取出height的最小值,然后将height序列分成两段。 有一个很重要的结论是对于某一段,最优答案与分配的k值之和是成正比的。 也就是说我们并不需要知道具体某一段分配了多少,先完全可以假定它总共分配的k值和1,如果它最...原创 2019-03-05 17:01:38 · 284 阅读 · 2 评论 -
[JZOJ6152] Endless【并查集】【SA】【ST表】
Description T组数据,T≤10000,∑n≤300000T\leq 10000,\sum n\leq 300000T≤10000,∑n≤300000 Solution 先考虑怎么把这些平方串弄出来 这似乎是一个很经典的套路了(WC2019的时候好像讲了) 枚举平方串的长度为2L,那么我们在L,2L,3L…的位置设置关键点,用SA或者二分+哈希求出相邻关键点的最长公共前缀和最长公共后缀...原创 2019-04-29 21:55:02 · 274 阅读 · 0 评论