04 2023 档案

摘要:部分内容来自 OI-WIKI。 1. 堆 0. 堆的定义 堆是一棵二叉树,满足每个节点的键值都大于等于它的父亲节点或者小于等于它的父亲节点。每个节点的键值都大于等于它的父亲节点的叫小根堆,每个节点的键值都小于等于它的父亲节点的叫大根堆。 优先队列是一种抽象数据类型,它是一种容器,里面有一些元素,这些 阅读全文
posted @ 2023-04-30 19:08 lrxQwQ 阅读(87) 评论(0) 推荐(1) 编辑
摘要:一、前言 左偏树是一种可以在 O(logn) 内快速合并的堆式数据结构。 具体来说, 插入一个元素:O(logn)。 查询最值:O(1)。 删除最值:O(logn)。 合并:O(logn)。 减少一个元素的值:O(logn)。 同时它可以持久化。 二、定义 阅读全文
posted @ 2023-04-30 19:05 lrxQwQ 阅读(21) 评论(0) 推荐(1) 编辑
摘要:一、最近公共祖先 最近公共祖先 二、树链剖分 重链剖分 长链剖分 三、树分治 点分治 点分树 四、计数问题 Prufer 序列 阅读全文
posted @ 2023-04-30 19:05 lrxQwQ 阅读(20) 评论(0) 推荐(1) 编辑
摘要:一、概述 前置知识:树的重心。 1. 经典应用 1 假设我们要统计一棵有 n 个节点的树上所有点对之间距离是 k 的有多少对。注意树上的边有长度。 n,k106。 一个朴素的算法是遍历树上的所有点对,处理出距离(也就是链的长度)。 时间复杂度 O(n2)。 考虑优化。由于 阅读全文
posted @ 2023-04-30 15:39 lrxQwQ 阅读(18) 评论(0) 推荐(1) 编辑
摘要:一、前言 讲一下高斯-约旦消元法。 它适用于处理 n 元 1 次 方程组。 误差较小并且好写。 二、步骤 主要用消元的方式求解,就是一列列处理,每一次处理消掉这一列所有其它的未知数。 处理第 i 列: 找到当前这一列的所有系数的绝对值的最大值,确定在第 x 行。 如果这一列全是 0,那么 阅读全文
posted @ 2023-04-26 22:25 lrxQwQ 阅读(52) 评论(0) 推荐(1) 编辑
摘要:一、定义 因数/约数:给定一个正整数 xx 的因数/约数就是所有满足 xy 的正整数倍的 y。 最大公因数/最大公约数:给定两个正整数 ab,求一个最大的正整数数 x,使得它同时是 ab 的因数。 一般在 OI 中记为 (a,b)=x,在数 阅读全文
posted @ 2023-04-26 21:14 lrxQwQ 阅读(36) 评论(0) 推荐(1) 编辑
摘要:前置知识:Trie 树、KMP 算法。 相信大家第一次听见这个算法都会很兴奋。 自动机,就是依据一个或者一些字符串建出来的无向图。 AC 自动机全名 Aho-Corasick Automaton。 它可以在 O(|T|+|S|) 的时间内解决多模式串的匹配问题。 它的本质就是在 Trie 阅读全文
posted @ 2023-04-26 08:44 lrxQwQ 阅读(36) 评论(0) 推荐(1) 编辑
摘要:FHQ Treap 这是一个很好理解、码量短、应用多变、容易可持久化的平衡树。我认为这是最实用的平衡树。 我们结合例题讲解:【模板】普通平衡树。 主要通过 split 和 merge 来维护。 首先平衡树有三个性质: 堆性质,这里我们将维护一个小根堆(事实上维护大根堆也没有关系),即是一棵二叉树,树 阅读全文
posted @ 2023-04-26 08:15 lrxQwQ 阅读(27) 评论(0) 推荐(1) 编辑
摘要:一、前言 感觉它本身没有什么用。主要是用于计数问题。 前置知识:树的定义。 二、定义 对于一棵有 n 个节点的无根树 T,定义其 Prufer 序列为执行以下操作 n2 次所形成的长度为 n2 的正整数序列。 ·选择其编号最小的度数为 1 的节点,输出唯一与其相邻的节点的编号 阅读全文
posted @ 2023-04-21 08:47 lrxQwQ 阅读(65) 评论(0) 推荐(1) 编辑
摘要:0.前言与规定 首先关于写这篇文章的动机,主要是看见了 Alex_Wei 写的 Dp 优化大杂烩I 和 Dp 优化大杂烩II ,然后我也想写一个。内容有参考他的。 动态规划的基础是状态设计,然而状态设计优化没有普遍性方法,全靠做题的经验。 动态规划的核心是转移方程,一般的优化都是针对转移方程进行优化 阅读全文
posted @ 2023-04-17 10:48 lrxQwQ 阅读(28) 评论(0) 推荐(1) 编辑
摘要:2.斜率优化动态规划 提示:由于这些式子比较长,读代码时建议点代码框右上角的“全屏”。另外,latex 比较多,可能会卡。 2.1 斜率优化的概念以及基本方法 斜率优化动态规划时信息学竞赛中一种常见的优化动态规划的方式。 它适用于转移方程形为 \(f_i=\max or \min\{-p(i 阅读全文
posted @ 2023-04-17 10:47 lrxQwQ 阅读(69) 评论(0) 推荐(1) 编辑
摘要:前置知识:单调队列 1.1例题 例题1:琪露诺 常见思路:首先容易推出朴素转移方程: 令 fi 表示琪露诺在在 i 格时累计能获得多少冰冻指数,fi=ai+minirjilfj,时间复杂度为 O(n2),考虑优化。 容易发现 $f 阅读全文
posted @ 2023-04-17 08:12 lrxQwQ 阅读(77) 评论(0) 推荐(0) 编辑
摘要:3.李超线段树优化动态规划 3.1 李超线段树优化动态规划的基本方法 数据结构中先搞 李超线段树 的做法,因为代码短常数小。或者可以上 OI-WIKI 学习,它那个应该讲得比我好,而且还有图。 李超线段树适用于优化一些 1D/1D 型的动态规划,而且它们的转移方程形似 $f_i=p(\max 阅读全文
posted @ 2023-04-11 14:45 lrxQwQ 阅读(42) 评论(0) 推荐(0) 编辑
摘要:一、基础线段树 二、扫描线 就是维护矩形的面积/周长并。 1. 面积并 用一条线从下往上扫,将所有矩形变成一片一片的(感性理解),容易知道最多 2n1 片,每片的贡献是 线×。 最多 2n 条竖直的线,所以最多 2n 个端点,最多 2n1阅读全文
posted @ 2023-04-10 10:54 lrxQwQ 阅读(17) 评论(0) 推荐(0) 编辑
摘要:一、前言 以下,所有 LCA 题目、RMQ 题目分别均为洛谷模板 https://www.luogu.com.cn/problem/P3379 和 https://www.luogu.com.cn/problem/P3865 在一棵树上,一个节点的祖先定义为从根节点到这个节点的父亲节点的链上的所有点 阅读全文
posted @ 2023-04-09 15:15 lrxQwQ 阅读(83) 评论(0) 推荐(1) 编辑
摘要:口胡一下,从青色开始 E - Grid Filling 给定一个W×H的矩阵,每个格子有一个数,在1和N之间,给定w<=W,h<=H,对于每个满足1<=i<=W-w+1,1<=j<=H-h+1的格子(i,j),求以它为左上角的w×h矩阵被遮住后整个大矩阵还剩下几种数字。 W,H,N,w,h<=300 阅读全文
posted @ 2023-04-08 16:19 lrxQwQ 阅读(16) 评论(0) 推荐(1) 编辑
摘要:(绝大部分都是贺的,来自 OI-WIKI 和 洛谷题解 ,自己抄一遍印象深刻一点,部分代码未编译,不保证正确性,但大体是对的) 一、DFS 生成树 注意可能有多棵,因为图可能不联通。 树边(tree edge):示意图中以黑色边表示,每次搜索找到一个还没有访问过的结点的时候就形成了一条树边。 反祖边 阅读全文
posted @ 2023-04-08 16:19 lrxQwQ 阅读(52) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示