Loading

摘要: 基本概念 \(manacher\) 算法是一种 字符串算法,通常用于求解给定的字符串 \(S\) 内最长的回文子串长度。其充分利用了回文串的 对称性,可以在 \(O(n)\) 的时间复杂度内求出最长回文子串。\(manacher\) 算法的主要思路和 \(KMP\) 算法类似,都是通过已经求出的子串 阅读全文
posted @ 2021-08-09 08:46 kymru 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 题目大意 题目链接 给定一个长度为 \(n\) 的字符串和 \(m\) 个区间询问,每次询问给出一个区间 \([l, r]\),询问 \([l, r]\) 中有多少个区间 \([x, y]\) 满足 \(l \leq x \leq y \leq r\) 并且 \([x, y]\) 中的字符可以 经过 阅读全文
posted @ 2021-07-30 14:28 kymru 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 题目大意 题目链接 给出一棵包含 \(n\) 个结点的无根树 \(T\),可以将树 \(T\) 中的一条链种的结点以及与这条链 直接相连 的若干树边的两个端点加入集合 \(S\)。试求集合 \(S\) 中可能的最大元素个数。此处的链定义为树上任意两点之间的路径,如果树中只有一个结点 \(1\),那么 阅读全文
posted @ 2021-07-28 20:01 kymru 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 题目大意 题目链接 给定一个包含 \(n\) 个点、\(n\) 条边的单圈图和实数 \(k\)。已知每个结点有其点权 \(p_i\),结点 \(i\) 的贡献为 \(p_i \times k\)。现在要求在该图中选出若干结点,使得这些结点中没有被一条边直接连接的两个结点并且它们的贡献之和最大。 \( 阅读全文
posted @ 2021-07-28 19:04 kymru 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 题目大意 题目链接 给定一个大小为 \(n\) 的无根树以及 \(q\) 个询问,第 \(i\) 次询问给出 \(k_i\) 个结点。处理第 \(i\) 次询问时在给出的 \(k_i\) 个结点间两两连边,共连出 \(C_k^2\) 条边。已知每次询问互不影响,在结点 \(u, v\) 之间连边的代 阅读全文
posted @ 2021-07-27 19:51 kymru 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 基本概念 $Link\ Cut\ Tree$ ,简称 $LCT$,是一种用于维护动态树问题的数据结构。 使用 实链剖分 和 $Splay$ 来维护一棵树 $T$ 上的若干条实链,通过实链表示出树 $T$ 单次修改或查询操作均摊时间复杂度是 均摊 $\mathcal{O}(logn)$。 算法思想 实 阅读全文
posted @ 2021-07-24 23:51 kymru 阅读(435) 评论(0) 推荐(0) 编辑
摘要: 基本概念 $Trie$ 树是一种与字符串相关的数据结构,又名字典树,前缀树。它的主要思想是 用空间换时间。它可以用来 统计、排序或者保存大量的字符串。假设待查询的字符串为 $s$,那么 $Trie$ 树单次查询复杂度为 $O(|s|)$。 变种 $01\ Trie$ 是一种维护与 异或 相关问题的数 阅读全文
posted @ 2021-07-24 23:50 kymru 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 题目大意 题目链接 给出一棵包含 \(n\) 个结点的无根树。已知这棵树上的每个结点 \(i\) 均有其唯一的“糖果类型” \(c_i\)。定义 \(v_i\) 表示第 \(i\) 个糖果类型的“美味程度”,\(w_i\) 表示第 \(i\) 次品尝某种糖果的“新奇指数”。已知第 \(i\) 次品尝 阅读全文
posted @ 2021-07-24 23:50 kymru 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 基本概念 李超线段树是由学军中学队爷李超提出的一种数据结构,是线段树的一个变种。李超线段树可以维护函数定点最值,它通常用来处理这种类型的问题:每次可以在平面上加入一条线段,试求与直线 \(x = k\) 相交的的线段中,交点纵坐标最大(小)的线段编号。 李超线段树不需要更新结点信息和下传标记,它的单 阅读全文
posted @ 2021-07-24 23:49 kymru 阅读(531) 评论(0) 推荐(0) 编辑
摘要: 普通莫队 概念 普通莫队算法可以解决不强制要求在线的部分区间问题,主要是通过将询问按照最优顺序暴力处理来优化复杂度。 考虑 分块。将整个数组分成若干个长度都为 $\sqrt{n}$ 的块,把这些询问按左端点所属块大的编号为第一关键字,以右端点为第二关键字升序排序。这样做的时间复杂度较优,为 $O(n 阅读全文
posted @ 2021-07-24 23:47 kymru 阅读(501) 评论(0) 推荐(1) 编辑