Loading

摘要: 中国剩余定理 概念 中国剩余定理(\(\texttt{Chinese Remainder Theorem}\), \(\tt CRT\))可以求解关于 \(x\) 的线性同余方程组 \[ \begin{cases} x \equiv a_1(\bmod p_1)\\ x \equiv a_2(\bm 阅读全文
posted @ 2021-12-03 20:41 kymru 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 题目大意 题目链接 给出一个包含 \(n\) 个结点,\(m\) 条无向边的无向图。现在任意选定一初始结点,拓展 \(n - 1\) 条边求出原图的一棵生成树。假设从初始结点 \(u\) 到达当前结点 \(v\) 需要经过 \(K\) 个结点(包含初始结点但不包含当前结点),且 \(v\) 与上一个 阅读全文
posted @ 2021-10-06 18:56 kymru 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 题目大意 给定两个数字串 \(A, B\),通过将 \(A\) 和 \(B\) 进行二路归并得到一个新的数字串 \(T\),请找到字典序最小的 \(T\)。二路归并可大致理解为有两指针初始时分别在 \(A, B\) 开头向后扫描,每次决定在数字串 \(T\) 中加入 \(a_i\) 还是 \(b_j 阅读全文
posted @ 2021-08-23 21:08 kymru 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 基本概念 后缀数组是处理字符串的有力工具。 后缀数组是一种处理字符串问题的算法。 后缀数组有多种实现,倍增后缀数组时间复杂度为 $\mathcal{O}(n log n)$。也可以 $O(n)$ 做,但是很麻烦。 在这里约定下文(包括代码)中出现的字符串下标均从 $1$ 开始,并且用后缀 $i$ 来 阅读全文
posted @ 2021-08-23 10:12 kymru 阅读(1824) 评论(0) 推荐(0) 编辑
摘要: 题目大意 题目链接 给出 \(n\) 个长度不超过 \(50\) 的字符串 \([S_1, S_n]\),试构造出一个字符串 \(T\) 使得 \([S_1, S_n]\) 均为 \(T\) 的子串。 \(1 \leq n \leq 12\) 解题思路 看到题目发现数据范围极小,因为 \(AC\) 阅读全文
posted @ 2021-08-18 21:57 kymru 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 题目大意 题目链接 给定一个长度为 \(n\) 的模式串 \(S\)。定义 完美子串 表示 \(S\) 的子串中既是 \(S\) 的前缀又是 \(S\) 的后缀的子串。对于给出的模式串 \(S\),试求所有可能的完美子串以及它们出现的位置。输出每个完美子串对应前缀的尾下标以及它在 \(S\) 中出现 阅读全文
posted @ 2021-08-17 22:10 kymru 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 题目大意 题目链接 给定一个长度为 \(n\) 的小写字母串,试求出该串中相交的回文子串对数(包含也算相交),顺序不同、子串位置完全相同的一对回文子串视为同一对回文子串,结果对 \(51123987\) 取模。 \(1 \leq n \leq 2 \times 10^6\) 解题思路 首先发现题目和 阅读全文
posted @ 2021-08-16 22:02 kymru 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 基本概念 扩展 $KMP$​ 算法是一种基于 $KMP$​ 算法思想的字符串算法,通常用于解决给出主串 $S$​ 和模式串 $T$​,求出 $S$​ 的每一个后缀与 $T$​ 的最长前缀长度($LCP$​)。扩展 $KMP$​ 算法的核心思想还是利用已经计算过的信息减少字符串的暴力匹配长度,从而优化 阅读全文
posted @ 2021-08-13 18:43 kymru 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 概念 Aho Corasick Automaton,AC 自动机。 用于解决多模式串匹配问题。 思想 对给出的 $n$ 个模式串建立一棵 Trie 树并在 Trie 树上建立若干条 fail 边。 然后在 Trie 树上沿着 fail 边路径进行匹配。 fail 指针定义为在结点 $u$ 对应的字符 阅读全文
posted @ 2021-08-09 21:10 kymru 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 基本概念 \(manacher\) 算法是一种 字符串算法,通常用于求解给定的字符串 \(S\) 内最长的回文子串长度。其充分利用了回文串的 对称性,可以在 \(O(n)\) 的时间复杂度内求出最长回文子串。\(manacher\) 算法的主要思路和 \(KMP\) 算法类似,都是通过已经求出的子串 阅读全文
posted @ 2021-08-09 08:46 kymru 阅读(131) 评论(0) 推荐(0) 编辑