摘要: 转载:http://www.cnblogs.com/hxer/p/5675149.html 题意:有一个长度为n(n < 5e4)的字符串,Q(Q<=2e5)次操作;操作分为:在末尾插入一个字符ch和查询不同子串出现次数不小于K的数量; 思路1:SAM在线求解; 对于每次找到将一个字符x插入到SAM 阅读全文
posted @ 2017-10-19 23:24 抓不住Jerry的Tom 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 题意:给定一个字符串,多组询问,每个询问给一个区间,求出该区间内共有多少个不同的子串。 这题就是查询一个区间内的不同子串的个数。 如果单单是求一个字符串的不同子串个数,无论是后缀数组还是后缀自动机都非常容易实现。 N<=2000. 我是用后缀自动机预处理出所有区间的不同子串个数。 建立n次后缀自动机 阅读全文
posted @ 2017-10-19 23:21 抓不住Jerry的Tom 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 转载:http://hzwer.com/4492.html 给一个长度不超过90000的串S,每次询问它的所有不同子串中,字典序第K小的,询问不超过500个。 搞出后缀自动机 dp处理出每个点往下走能够走出多少个串。f[i]=sigma(f[ch[i][c])+1这个可以按Max排序之后倒着推就好了 阅读全文
posted @ 2017-10-19 23:19 抓不住Jerry的Tom 阅读(385) 评论(0) 推荐(0) 编辑
摘要: 转载:http://hzwer.com/4420.html 给一个字符串S,令F(x)表示S的所有长度为x的子串中,出现次数的最大值。 求F(1)..F(Length(S)) Length(S) <= 250000 我们构造S的后缀自动机(SAM),那么对于一个节点s,它的长度范围是 [Min(s) 阅读全文
posted @ 2017-10-19 23:17 抓不住Jerry的Tom 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 求若干个串的最长公共子串。 SAM+DP 先拿个串建个SAM,然后用后面的串匹配,每次将所有的匹配长度记录在状态上取min,然后对所有状态取max即答案。 需要更新fa,因为fa[p]一定比p更优,但匹配的时候可能只更新了p而没有更新fa[p],所以还需要递推一边。 注意mn[p]初始化为l[p] 阅读全文
posted @ 2017-10-19 23:14 抓不住Jerry的Tom 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 转载:http://blog.csdn.net/acdreamers/article/details/10746023 题意:给两个串A和B,求这两个串的最长公共子串。 分析:其实本题用后缀数组的DC3已经能很好的解决,这里我们来说说利用后缀自动机如何实现。 对于串A和B,我们先构造出串A的后缀自动 阅读全文
posted @ 2017-10-19 23:06 抓不住Jerry的Tom 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 题意:一个字符串可以将第一个字符放到最后一位,然后问不断这样做可以得到的字典序最小的字符串 阅读全文
posted @ 2017-10-19 22:59 抓不住Jerry的Tom 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 在三维坐标中,给定一个点光源,一个凸多面体,以及一个平面作为地面。 求该凸多面体在地面上阴影的面积。 这三个点共同确定了一个平面,这个平面就是地面。保证这三个点坐标互异且不共线。前三行每行三个实数,每行表示一个点。这三个点共同确定了一个平面,这个平面就是地面。保证这三个点坐标互异且不共线。接下来一行 阅读全文
posted @ 2017-10-19 22:49 抓不住Jerry的Tom 阅读(372) 评论(0) 推荐(0) 编辑