随笔分类 - 字符串 / SA,SAM
摘要:题意 给定字符串 \(s\),\(q\) 次询问 \(s[l,r]\) 的 border。 \(n,q\le 2\times10^5\) 题意 这里介绍的是 SAM+树剖的双 log 做法。 假设 \(s[l,r]\) 的 border 是 \(s[l,x]\),则其一定满足 \(s[l,x]=s[
阅读全文
摘要:后缀自动机实际上就是接收字符串所有后缀的最小 DFA,它的一个基本性质就是任何一个子串都能表示为从根节点出发的一条路径。它的点数和边数都只有 \(O(n)\) 级别,所以它能在更好的复杂度内解决一些子串的出现次数之类的问题。由于我太菜了,这里只会说 SAM 的构造。 约定: 若无特殊说明,假设 \(
阅读全文
摘要:题意 给定一个字符串 \(s\),令 \(s^R\) 表示 \(s\) 翻转后的结果。\(q\) 次询问,每次询问给定 \(i,r\),求有多少个 \(1\le l\le r\) 满足 \(s_{i\cdots i+l-1}<s_{i+l\cdots i+2l-1}^R\)。 多测,\(T\le 5
阅读全文
摘要:题意 给定一个字符串 \(s\),对其每一个前缀求本质不同子串个数。 \(n\le 10^5,|\Sigma|=O(n)\)。 分析 求本质不同子串个数有经典结论是 总个数 减去 height 数组总和。 而对每个前缀求,实际上就是每次往 sa 数组里面插入一个数,然后动态维护 height 和。只
阅读全文
摘要:题意简述 定义后缀 \(p,q\) 是 \(r\) 相似的当且仅当 \(\forall 1\le i\le r,s_{p+i-1}=s_{q+i-1}\)。 对于每一个 \(0\le r<n\),求出: 有多少对 \(r\) 相似的后缀。 每个后缀有权值 \(a_i\),求在所有 \(r\) 相似的
阅读全文
摘要:题意简述 有一个字符串 \(s\) 和 \(n\) 条限制,每条限制给出字符串 \(t_i\) 和两个整数 \(l_i,r_i\),要求一个字符串要满足在 \(t_i\) 中的出现次数要在 \([l_i,r_i]\) 之间。求 \(s\) 有多少本质不同的子串满足所有限制。 \(|s|,\max |
阅读全文
摘要:隔壁 CF316G3 远比这题难吧,为什么那题 2400 这题 2700? 题目描述 有 \(n\) 个字符串 \(t_i\),第 \(i\) 个字符串的价值为 \(c_i\)。现在想求一个字符串函数 \(f(S)=\sum_{i=1}^n |S|\cdot c_i\cdot p_{S,t_i}\)
阅读全文
摘要:https://www.luogu.com.cn/problem/P3002 首先考虑一个显然的 dp,设 \(f_i\) 表示最后一刀切在 \(i\) 上,并将 \(1\sim i\) 全部剪出的最小刀数。转移显然是 \(f_i=\min_{0\le j<i,t_{j+1\sim i}\in s}
阅读全文
摘要:https://www.luogu.com.cn/problem/P2870 字典序最小显然贪心,若当前串首比串尾小,则取串首;若当前串首比串尾大,则取串尾。 那串首串尾一样呢?这个顺序显然会影响到后续操作。 考虑继续往内递归,如果碰到一样的,那么当前取什么都无所谓;若碰到不一样的,我们肯定是要取更
阅读全文

浙公网安备 33010602011771号