摘要: 一、最近公共祖先 最近公共祖先 二、树链剖分 重链剖分 长链剖分 三、树分治 点分治 点分树 四、计数问题 Prufer 序列 阅读全文
posted @ 2023-04-30 19:05 lrxQwQ 阅读(24) 评论(0) 推荐(1)
摘要: 一、概述 前置知识:树的重心。 1. 经典应用 1 假设我们要统计一棵有 $n$ 个节点的树上所有点对之间距离是 $k$ 的有多少对。注意树上的边有长度。 $n,k\le 10^6$。 一个朴素的算法是遍历树上的所有点对,处理出距离(也就是链的长度)。 时间复杂度 $O(n^2)$。 考虑优化。由于 阅读全文
posted @ 2023-04-30 15:39 lrxQwQ 阅读(32) 评论(0) 推荐(1)
摘要: 一、前言 讲一下高斯-约旦消元法。 它适用于处理 $n$ 元 1 次 方程组。 误差较小并且好写。 二、步骤 主要用消元的方式求解,就是一列列处理,每一次处理消掉这一列所有其它的未知数。 处理第 $i$ 列: 找到当前这一列的所有系数的绝对值的最大值,确定在第 $x$ 行。 如果这一列全是 0,那么 阅读全文
posted @ 2023-04-26 22:25 lrxQwQ 阅读(84) 评论(0) 推荐(1)
摘要: 一、定义 因数/约数:给定一个正整数 $x$,$x$ 的因数/约数就是所有满足 $x$ 是 $y$ 的正整数倍的 $y$。 最大公因数/最大公约数:给定两个正整数 $a$,$b$,求一个最大的正整数数 $x$,使得它同时是 $a$ 和 $b$ 的因数。 一般在 OI 中记为 $(a,b)=x$,在数 阅读全文
posted @ 2023-04-26 21:14 lrxQwQ 阅读(57) 评论(0) 推荐(1)
摘要: 前置知识:Trie 树、KMP 算法。 相信大家第一次听见这个算法都会很兴奋。 自动机,就是依据一个或者一些字符串建出来的无向图。 AC 自动机全名 Aho-Corasick Automaton。 它可以在 $O(\sum|T|+|S|)$ 的时间内解决多模式串的匹配问题。 它的本质就是在 Trie 阅读全文
posted @ 2023-04-26 08:44 lrxQwQ 阅读(43) 评论(0) 推荐(1)
摘要: FHQ Treap 这是一个很好理解、码量短、应用多变、容易可持久化的平衡树。我认为这是最实用的平衡树。 我们结合例题讲解:【模板】普通平衡树。 主要通过 split 和 merge 来维护。 首先平衡树有三个性质: 堆性质,这里我们将维护一个小根堆(事实上维护大根堆也没有关系),即是一棵二叉树,树 阅读全文
posted @ 2023-04-26 08:15 lrxQwQ 阅读(34) 评论(0) 推荐(1)
摘要: 一、前言 感觉它本身没有什么用。主要是用于计数问题。 前置知识:树的定义。 二、定义 对于一棵有 $n$ 个节点的无根树 $T$,定义其 Prufer 序列为执行以下操作 $n-2$ 次所形成的长度为 $n-2$ 的正整数序列。 ·选择其编号最小的度数为 $1$ 的节点,输出唯一与其相邻的节点的编号 阅读全文
posted @ 2023-04-21 08:47 lrxQwQ 阅读(89) 评论(0) 推荐(1)
摘要: 0.前言与规定 首先关于写这篇文章的动机,主要是看见了 Alex_Wei 写的 Dp 优化大杂烩I 和 Dp 优化大杂烩II ,然后我也想写一个。内容有参考他的。 动态规划的基础是状态设计,然而状态设计优化没有普遍性方法,全靠做题的经验。 动态规划的核心是转移方程,一般的优化都是针对转移方程进行优化 阅读全文
posted @ 2023-04-17 10:48 lrxQwQ 阅读(41) 评论(0) 推荐(1)
摘要: 2.斜率优化动态规划 提示:由于这些式子比较长,读代码时建议点代码框右上角的“全屏”。另外,\(latex\) 比较多,可能会卡。 2.1 斜率优化的概念以及基本方法 斜率优化动态规划时信息学竞赛中一种常见的优化动态规划的方式。 它适用于转移方程形为 \(f_i=\max or \min\{-p(i 阅读全文
posted @ 2023-04-17 10:47 lrxQwQ 阅读(95) 评论(0) 推荐(1)
摘要: 前置知识:单调队列 1.1例题 例题1:琪露诺 常见思路:首先容易推出朴素转移方程: 令 $f_i$ 表示琪露诺在在 $i$ 格时累计能获得多少冰冻指数,$f_i=a_i+\min\limits_{i-r\le j\le i-l} f_j$,时间复杂度为 $O(n^2)$,考虑优化。 容易发现 $f 阅读全文
posted @ 2023-04-17 08:12 lrxQwQ 阅读(111) 评论(0) 推荐(0)