随笔分类 - 字符串-后缀数组
摘要:[HAOI2016]找相同字符(广义SAM) 题面 给定两个字符串,求出在两个字符串中各取出一个子串使得这两个子串相同的方案数。两个方案不同当且仅当这两个子串中有一个位置不同。 分析 此题有一个比较繁琐的 "后缀数组做法" ,但是用广义SAM可以秒杀。 把两个串建成广义SAM,对于每个后缀,记录$e
阅读全文
摘要:[LuoguP4094] [HEOI2016] [TJOI2016]字符串(二分答案+后缀数组+ST表+主席树) 题面 给出一个长度为的字符串,以及组询问.每个询问是一个四元组,问的所有子串和字符串的最长公共前缀长度的最大值。
阅读全文
摘要:[BZOJ 2865]字符串识别(后缀数组+线段树)(或后缀自动机+线段树) 题面 给定一个字符串S,与一个整数K,定义S的子串T=S(i, j)是关于第K位的识别子串,满足以下两个条件: 1、i≤K≤j。 2、子串T只在S中出现过一次。 现在,给定S,XX希望知道对于S的每一位,最短的识别子串长度
阅读全文
摘要:[NOI2016]品酒大会(后缀数组+并查集) 题面 给出一个 长度为 n 的字符串,每一位有一个权值 val。定义两个位字符为 r 相似,是指分别从这两个字符开始,到后面的 r 个字符都相等。两个 r 相似的字符还有一个权值为这两个字符权值的乘积。问对于 ,统计出有多
阅读全文
摘要:[HAOI2016]找相同字符(后缀数组+单调栈) 题面 给定两个字符串,求出在两个字符串中各取出一个子串使得这两个子串相同的方案数。两个方案不同当且仅当这两个子串中有一个位置不同。 分析 我们把两个字符串接在一起,中间加一个分隔符。如和变成$\t
阅读全文
摘要:[BZOJ 1717] [USACO06DEC]Milk Patterns产奶模式(后缀数组+单调队列) 题面 农夫John发现他的奶牛产奶的质量一直在变动。经过细致的调查,他发现:虽然他不能预见明天产奶的质量,但连续的若干天的质量有很多重叠。我们称之为一个“模式”。 John的牛奶按质量可以被赋予
阅读全文
摘要:[LOJ 6198]谢特(后缀数组+可持久化Trie+分治) 题面 定义这个字符串以第 个字符开头的后缀为后缀 (编号从1 开始),每个后缀 都有一个权值 ,同时定义两个后缀的贡献为它们的最长公共前缀长度加上它们权值的异或和,也就是 $LCP(i,j)+(w_i
阅读全文
摘要:[Luogu2870] [USACO07DEC]最佳牛线Best Cow Line(贪心+后缀数组) 题面 FJ打算带他的头奶牛去参加一年一度的“全美农场主大奖赛”。在这场比赛中,每个参赛者都必须让他的奶牛排成一列,然后领她们从裁判席前依次走过。 今
阅读全文
摘要:[BZOJ3998][TJOI2015]弦论(后缀数组) 题面 对于一个给定长度为N的字符串,求它的第K小子串是什么。 T为0则表示不同位置的相同子串算作一个。T=1则表示不同位置的相同子串算作多个。K的意义如题所述。 分析 不同位置的相同子串算作一个(T=0) 每个子串都是一个后缀的前缀。那么我们
阅读全文