随笔分类 - 字符串-后缀数组
摘要:CF427D Match & Catch 我其实很疑惑,为什么全网没人用 SA?这个题用 SA 不是巨水吗?我洗个澡就做出来了 我们可以用传统拼接字符串的方式拼接一下字符串,求一遍 SA 和 height 数组。 然后呢?其实很简单,题目让我们求的是最短的满足各只出现一次的连续公共字串。好,我们知道
阅读全文
摘要:CF123D String 这个题和 CF811D 很像,代码只有一点点不同。题解也几乎一模一样 首先看到子串的问题容易想到后缀数组,所以我们可以先对字符串求一遍后缀数组以及 height 数组。 我们其实可以想得到单调栈。我们可以考虑对于 height 数组维护一个单调递增的栈。一旦我们要弹出栈顶
阅读全文
摘要:CF802I Fake News (hard) 这个题和 CF123D 很像,代码只有一点点不同。 首先看到子串的问题容易想到后缀数组,所以我们可以先对字符串求一遍后缀数组以及 height 数组。 接下来怎么做?我们其实可以想得到单调栈。我们可以考虑对于 height 数组维护一个单调递增的栈。一
阅读全文
摘要:【SDOI2008】Sandy的卡片 SA 经典题型:后缀数组+二分答案。 本题不难,我们需要先要处理题目重新定义的这个“相等”。这个处理方式和一道 HDU 的题很像,好像叫 Musical Theme。我们只需要记录数组相邻两个数字的变化量即可。因为在数字加上同一个数后,差是不变的。 我们把每个处
阅读全文
摘要:【HAOI2016】 找相同字符 子串之类的问题,容易想到后缀数组。最后的问题是,在 \(A,B\) 中各找一个子串,有多少种情况这两个子串相同。 我们分别对 \(A\),\(B\),\(A+B\) 三个串求其后缀数组和 \(height\) 数组。我们可以求出在各自串中相同的子串数量,然后用容斥原
阅读全文

浙公网安备 33010602011771号