随笔分类 -  字符串

摘要:十分简要地胡乱说一些与 Border 相关的东西。 Border 是什么? 用 kmp 求的那个东西就是 border,因此 border 可以在 \(\mathcal O(n)\) 内用 kmp 求出来,每个前缀的 border 构成树形结构,把这个树建出来,我们称其为失配树。 Border 的性 阅读全文
posted @ 2022-03-28 22:19 Arextre 阅读(231) 评论(0) 推荐(2)
摘要:我他妈是大傻逼,大傻逼,大傻逼。 阅读全文
posted @ 2021-08-31 21:34 Arextre 阅读(95) 评论(0) 推荐(2)
摘要:为什么我无法记住曾经的错题?还是我曾经太水了? 阅读全文
posted @ 2021-08-18 22:49 Arextre 阅读(29) 评论(0) 推荐(0)
摘要:年级比我低,又比我强,好的,我是该退役了。 阅读全文
posted @ 2021-08-18 21:50 Arextre 阅读(56) 评论(0) 推荐(0)
摘要:〇、前言 ¶ 扩展 \(\rm kmp\) 主要的功能是:对于串 \(S,T\),记 \(ext_i=\text{LCP}(S[i:],T)\),它可以在线性复杂度内求得所有 \(ext_i(i\in [1,|S|])\). 不难看出,若某个 \(ext_i=|T|\),那么说明 \(T=S[i:i 阅读全文
posted @ 2021-06-22 21:26 Arextre 阅读(97) 评论(0) 推荐(0)
摘要:零、前言 ¶ 考场写的,可能有点冲...... 壹、题目描述 ¶ 有一个长度为 \(n\) 的仅含前 \(m\) 个小写字母的串 \(S\),你希望知道这个串本质不同的子串有多少个。 你觉得太简单,所以定义两个串本质不同当且仅当它们的最小表示不同。 最小表示指将该串靠前出现的字符都替换为字符集的第一 阅读全文
posted @ 2021-04-05 13:03 Arextre 阅读(302) 评论(0) 推荐(0)
摘要:$\text{update on 21/8/17}:$处理了一下排版问题,以及新增 \(\rm LCT\) 做法。 如果没有原题测试,还不知道这道题还要被咕多久......本来就已经咕了一个寒假了...... 壹、题目描述 ¶ 传送门 to LOJ 贰、题解 ¶ 启发式合并 最长公共后缀,很难不让人 阅读全文
posted @ 2021-03-09 22:08 Arextre 阅读(77) 评论(0) 推荐(0)
摘要:壹、题目描述 传送门 to LOJ 贰、蒟蒻思考 询问问的其实就是最长公共子串的长度,这个没什么问题,如果只有一个询问,我们可以考虑暴力检出 \(\tt SAM\) 然后进行匹配,但是询问目前有 \(m\le 100000\) 个,如果将询问暴力挂在 \(\text{parent tree}\) 上 阅读全文
posted @ 2021-02-20 19:28 Arextre 阅读(51) 评论(0) 推荐(1)
摘要:壹、题目描述 为了让沙耶彻底放弃对自己的追求,伊蕾娜在诚实之国的大门上设下了 \(q\) 个密码,但是伊蕾娜太过喜欢自己 自恋 所以有时候会忘记密码,这个时候就连 这位身穿漆黑长袍且头戴三角帽,胸口上别着象征星辰的胸针,灰色的发丝随风摇曳,在太阳照耀下散发出耀眼的光芒,琉璃色的双瞳看似朝向前方,实际 阅读全文
posted @ 2021-02-19 22:28 Arextre 阅读(67) 评论(0) 推荐(0)
摘要:题目 传送门 给定一个字符串 \(S\),求 \(S\) 中 \(\forall i\in[0,n)\) 求有多少对后缀满足 \(\text{Len}(lcp)\ge i\),以及满足条件的两个后缀的权值乘积的最大值. 题解 首先将问题转化为求 \(\text{Len}(lcp)=i\) 的有多少, 阅读全文
posted @ 2021-01-13 16:26 Arextre 阅读(69) 评论(0) 推荐(1)
摘要:题目 传送门 给定一个长度为 \(n\) 的小写字母串.问你有多少对相交的回文子 串(包含也算相交)。. 输入格式 第一行是字符串长度 \(n(1\le n\le 2*10^6)\),第二行字符串. 输出格式 相交的回文子串个数 \(\bmod 51123987\). 题解 首先,如果我们正向求解有 阅读全文
posted @ 2021-01-12 20:53 Arextre 阅读(82) 评论(0) 推荐(0)
摘要:〇、测试链接 传送门 壹、定义 其实 \(\tt PAM\) 个人感觉是 \(\tt SAM\) 和 \(\tt AC\) 自动机的组合,用到的大部分思想来自于 \(\tt AC\) 自动机以及 \(\tt kmp\),但是采用的建立方式是 \(\tt SAM\) 的增量法,即来了一个点就在原来的基 阅读全文
posted @ 2021-01-10 15:57 Arextre 阅读(108) 评论(0) 推荐(0)
摘要:〇、关于后缀自动鸡的一些牢骚废话和引入 它取名叫后缀自动鸡,但是实际上在一个自动鸡出炉之后好像和后缀基本上没什么关系,按照 \(\text{JZM}\) 大佬的话,叫 “子串自动鸡” 可能更恰当. 只不过,它取名叫后缀自动鸡,原因是之一可能是在原本的串 \(S\) 后面插入新字符 \(c\) 时,将 阅读全文
posted @ 2020-12-26 17:26 Arextre 阅读(739) 评论(2) 推荐(9)
摘要:题目 传送门 题解 算法一 暴力做,枚举 \(A\) 的字串,在 \(B,C\) 中暴力找,时间复杂度 \(\mathcal O(n^4)\). 算法二 同样要在 \(A\) 中枚举字串,但是考虑在 \(L=1\) 时,对于 \(A\) 的每个字符,我们可以在 \(B,C\) 中找出相匹配的,随着 阅读全文
posted @ 2020-12-23 17:35 Arextre 阅读(97) 评论(0) 推荐(0)
摘要:模板测试链接 传送门 大致思想 利用倍增的思想解决后缀排序问题. 设上一轮比较长度为 \(k\),那么这一轮比较长度为 $2k$,我们只取每个后缀的 $2k$ 个,并将他们每个后缀划分为前 \(k\) 个字符的部分和后 \(k\) 个字符的部分,如果某个长度小于等于 \(k\)(也就是没有第二段), 阅读全文
posted @ 2020-12-13 17:35 Arextre 阅读(68) 评论(0) 推荐(0)
摘要:[TOC] 题目 "传送门" 题解 下面称 最大值 为异或之后的最大值。 首先,我们可以将询问拆成俩部分: 从 $L\sim R$ 的商店的特殊商品的最大值; 最近 $D$ 天从 $L\sim R$ 的商店的普通商店的最大值; 考虑分别建俩棵树: 第一颗:可持久化 $\text{trie}$ 树,解 阅读全文
posted @ 2020-05-18 22:01 Arextre 阅读(144) 评论(0) 推荐(0)
摘要:经过本蒟蒻大约两天的努力,总算是把后缀数组的模板写出来了 然而 ZXY 大佬已经 AK 了 我们不能和这种神仙比,还是自己比比就好了... 我的后缀数组实现有两个版本,其实他们的本质区别就在于基数排序的实现的部分。 后面会加入求 height[] 的代码,不过现在还是算了吧... 用伪链表实现基数排 阅读全文
posted @ 2020-02-28 15:57 Arextre 阅读(144) 评论(0) 推荐(0)
摘要:[TOC] 说明 这篇博客只挂模板,具体分析请膜拜大佬 "hyfhaha" 大佬。 普通版本 "题目传送门" 询问更改版 "题目传送门" 问题:$trie$ 树的数组针对这道题不应该是 $26^{70}$ 那么大吗?为什么开 $1e6$ 就可以过? 拓扑优化版本 "题目传送门" 阅读全文
posted @ 2020-01-21 21:15 Arextre 阅读(121) 评论(0) 推荐(0)