随笔分类 -  后缀数组

就是各种并不对劲的后缀数组
摘要:为什么连续两天都中奖上去讲题? d2t1 题意:后缀数组/哈希板子题 做法:后缀数组/哈希 d2t2 题意:T组数据,给n条线段,判断它们是否和某条线段有公共点,n<=10^4,T<=10,保证线段不是一个点 做法:可以先画这样一个图: 那么接下来就是要判断是否平行/共线/重合/交点在两线段上,设两 阅读全文
posted @ 2018-08-08 19:29 echo6342 阅读(254) 评论(0) 推荐(0)
摘要:传送门-> 又称普及大会。 这题没什么好说的……后缀自动机裸题……并不对劲的人太菜了,之前照着标程逐行比对才过了这道题,前几天刚刚把这题一遍写对…… 这题的输出和某两点相同后缀的长度有关,那么把串反过来就和相同前缀的长度有关。建出后缀自动机后,发现点u代表了right[u]个dis[fa[u]+1] 阅读全文
posted @ 2018-04-02 15:37 echo6342 阅读(202) 评论(0) 推荐(0)
摘要:题意是求两个字符串的lcs,两个串都只包含小写字母。 本题既可以用后缀自动机,又可以用后缀数组。 对于后缀自动机,就是一道模板题,直接对于一个字符串建后缀自动机再用另一个串查询就行。 对于后缀数组,其实也是一道模板题,但不是后缀数组的模板,而是用后缀数组求同一字符串的两个后缀的最长公共前缀的模板。 阅读全文
posted @ 2018-01-19 14:34 echo6342 阅读(269) 评论(0) 推荐(0)
摘要:后缀数组sa(x)表示排序后第x位在排序前的位置。 这个东西的求法有两种,一种是倍增,时间复杂度o(n log n)或o(n log2n),另一种是用不知道什么方法做到的o(n)。 至于第二种方法是什么,并不对劲的人并不知道,所以只说倍增。 考虑正常地比较两个字符串,都是从头比较到尾: 那么,如果把 阅读全文
posted @ 2018-01-19 08:46 echo6342 阅读(201) 评论(0) 推荐(0)