摘要: 定义 后缀自动机($\text{Suffix Automaton}$,简称 $\text{SAM}$)是一种用于字符串处理的有限状态自动机($\text{DFA}$),它根据母串的所有后缀构建,能识别出母串的所有子串,且构造算法时间复杂度为线性 $O(n)$,空间复杂度为 $O(n|\Sigma|) 阅读全文
posted @ 2022-06-06 23:18 Samsara-soul 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 给定 \(m\) 进制下的 \(l,r\) 以及 \(n\) 个数 \(\text{num}_i\),每个数有一个权值 \(v_i\)。定义一个 \(m\) 进制数 \(x\) 的价值为 \(\sum r_i\cdot v_i\),其中 \(r_i\) 是 \(\text{num}_i\) 在 \( 阅读全文
posted @ 2022-06-05 15:17 Samsara-soul 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 给定两个长度一样的 \(01\) 串 \(s,t\),其中有些位置上的字符已经忘记了,忘记的位置上是 ?。 定义 \(f(s,t)\) 表示最少使得 \(s=t\) 的操作数。操作是选择 \(s\) 中相邻的两个一样的字符,同时进行反转,即 00 变 11,11 变 00。 计算出对于所有将 \(s 阅读全文
posted @ 2021-12-26 19:38 Samsara-soul 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 给定长度为 $n$ 的序列 $a$,$a$ 中有些位置的值已经确定了,还有些位置的值没有确定,这些位置上的数是 $0$,需要替换成 $1\sim n$ 的值。 填完所有为 $0$ 的位置使得满足下列条件的 $k(k\in [1,n])$ 的数量最多,构造任意一种方案。 $\exists i\in [ 阅读全文
posted @ 2021-12-26 10:34 Samsara-soul 阅读(554) 评论(0) 推荐(0) 编辑
摘要: 定义函数 \(f([t_1,t_2,\cdots,t_m])\) 为不同的是至少一个 \(t_i\) 的子序列的字符串数量。其中,\(f([])=0\)。 给定 \(n\) 个字符串 \(s_1,s_2,\cdots,s_n\),每个字符串的字符都是有序的$(\(即,先是若干 ```a```,再是若 阅读全文
posted @ 2021-12-19 02:11 Samsara-soul 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给定一个长度为 \(n\) 的序列 \(b\),需要计算满足下列条件的序列 \(a\) 的个数,答案对 \(998244353\) 取模。 序列 \(a\) 的长度为 \(n\); \(\forall i\in[1,n],0\le a_i\le n\); \(\forall i\in[1, 阅读全文
posted @ 2021-12-17 20:25 Samsara-soul 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给定一个长度为 \(n\) 的序列 \(a\),需要计算满足下列条件的序列 \(b\) 的个数,答案对 \(998244353\) 取模。 序列 \(b\) 的长度为 \(2n-1\); \(b_{2i-1}=a_i(i\in [1,n])\); 序列 \(b\) 单调不减,即 \(b_1 阅读全文
posted @ 2021-12-17 16:59 Samsara-soul 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给定一个长度为 \(n\) 的序列 \(a\)。挑出两个数 \(a_x,a_y(x\neq y)\) 使得让 \(a_x=a_y\) 的最小操作数最大。 一次操作是选择一个非负整数 \(k\),使得 \(2^k\geq a_i\),然后令 \(a_i\leftarrow 2^k-a_i\) 阅读全文
posted @ 2021-12-17 01:06 Samsara-soul 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给定一张 \(n\) 个点的无向图,刚开始为空。执行 \(m\) 次操作 \((3\) 种操作$)$。 1 u v w,在点 \(u\) 与点 \(v\) 之间加入一条权值为 \(w\) 的边。 2 id,删除第 \(id\) 次操作加入的边。 3 u v w,询问点 \(u\) 与点 \ 阅读全文
posted @ 2021-12-12 20:53 Samsara-soul 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给定两个只由 \(0,1\) 组成的字符串 \(s,t\)。可以花费 \(v_i\) 的代价改 \(t\) 中的第 \(i\) 个字符。设改好的字符串为 \(t'\),则收入为 \(f(s,t')\)。\(f(s,t')\) 表示 \(t'\) 中是 \(s\) 的子串的最长前缀的长度。一 阅读全文
posted @ 2021-12-06 20:40 Samsara-soul 阅读(88) 评论(0) 推荐(0) 编辑