合集-学习笔记

摘要:笛卡尔树学习笔记 定义 笛卡尔树是一棵特殊的二叉树,它的每个节点都包含了两个值 \((k,w)\)。其中,整棵树关于 \(k\) 为一棵二叉搜索树,而关于 \(w\) 为一个小根堆(或大根堆)。 到这里可以发现,Treap 是一种特殊的笛卡尔树,因为 Treap 相当于给定了 \(k\),而我们人为 阅读全文
posted @ 2024-03-07 21:27 DycIsMyName 阅读(131) 评论(0) 推荐(1)
摘要:基环树学习笔记 定义 基环树指的是一张有 \(n\) 个节点和 \(n\) 条边的图,如果不保证连通的话,那么整张图是一张基环树森林。并且如果将环上的任意一条边去除,那么整棵基环树会成为一棵普通的树。 分类 基环树有以下几种特殊情况,也是题目中较多出现的。 基环内向树 指的是在一棵有向基环树中,所有 阅读全文
posted @ 2024-03-07 21:27 DycIsMyName 阅读(114) 评论(2) 推荐(0)
摘要:后缀数组学习笔记 定义 所谓后缀,指的是对于一个字符串 \(s\),如果它的下标从 \(1\) 到 \(n\),那么对于 \(s\) 的一个后缀 \(i=s[i\dots n]\)。 所谓后缀数组 sa[],就是按照这些后缀的字典序排序后得到的数组。更具体的,后缀数组 sa[i] 中存储的是字符串 阅读全文
posted @ 2024-03-07 21:50 DycIsMyName 阅读(88) 评论(0) 推荐(0)
摘要:虚树学习笔记 定义 虚树指的是不同于原树(我称之为实树)的重构树,使得在同样能够求解的情况下,整棵树的节点数更少,从而使得在存在多次询问时,一些复杂度关于树的节点数的树上算法能够在时限内求解。 常用场景 一般来说,虚树的使用场景比较单一,常见于在实树上存在一些特殊节点,并且答案与这些节点有关的题目, 阅读全文
posted @ 2024-03-07 21:27 DycIsMyName 阅读(249) 评论(0) 推荐(0)
摘要:网络流学习笔记 本来是不想写的,因为不想在里面博客插入图片,但是发现网络流似乎可以牵扯出许多不为人知的图论内容,因此特此写一篇博客铺路。 前言 网络流是一种说难也不难,说简单也不简单的结构。难就难在对于一道题来说,我们难以分辨需要用到什么算法,怎么建图,因此,我们只能多做多练,积累各种各样的模型。 阅读全文
posted @ 2024-03-07 21:27 DycIsMyName 阅读(58) 评论(0) 推荐(0)
摘要:线性基学习笔记 定义 线性空间 \(V\) 内的一个极大线性无关组是 \(V\) 的一组 hamel 基 或 线性基,简称 基。 以上内容是 OI WIKI 中提及的定义。 更具体一点来说,对于一个向量组 \(v\),如果满足对于任意的取值,使 \(\sum_{i=1}^n\alpha_iv_i\n 阅读全文
posted @ 2024-03-07 21:27 DycIsMyName 阅读(134) 评论(0) 推荐(0)
摘要:拉格朗日插值学习笔记 应用 众所周知,在平面直角坐标系中,对于任意的 \(n\) 个点,都一定有一个不超过 \(n-1\) 次的函数与之相对应。拉格朗日插值适用于求解这 \(n\) 个点对应的函数。 思路 考虑给定的 \(n\) 个点的坐标表示为 \((x_i,y_i)\),不难构造出如下函数: \ 阅读全文
posted @ 2024-04-20 15:22 DycIsMyName 阅读(69) 评论(0) 推荐(1)
摘要:杜教筛学习笔记 杜教筛被用于求解某一数论函数 \(f\) 的前缀和,即对于形如 \(S(n)=\sum_{i=1}^nf(i)\) 形式的函数 \(S\),杜教筛能够在小于线性复杂度的复杂度内求解。 算法思想 尝试构造一个函数 \(S\) 的递推式。选择一个数论函数 \(g\),那么根据狄利克雷卷积 阅读全文
posted @ 2024-04-13 09:07 DycIsMyName 阅读(32) 评论(0) 推荐(0)
摘要:数论分块学习笔记 性质 数论分块用于快速计算含有除法向下取整的和式,即形如 \(\sum_{i=1}^nf(i)g(\lfloor\frac{n}{i}\rfloor)\) 的式子。当预处理出 \(f\) 的前缀和时,数论分块可以在 \(O(\sqrt{n})\) 的时间复杂度下计算上述和式的值。 阅读全文
posted @ 2024-04-02 21:15 DycIsMyName 阅读(54) 评论(0) 推荐(2)
摘要:莫比乌斯反演学习笔记 前言 之前学了一遍,只学了朴素的莫比乌斯反演,现在第二次面对不知道能否有所长进。 性质 莫比乌斯反演是数论中的重要内容。对于一些函数 \(f(n)\),如果难以直接求出它的值,但容易求得其倍数和或约数和 \(g(n)\),那么可以通过莫比乌斯函数反演简化运算,从而求得 \(f( 阅读全文
posted @ 2024-04-02 21:15 DycIsMyName 阅读(46) 评论(0) 推荐(1)
摘要:广义后缀自动机学习笔记 前言 为了方便,下文有如下约定: 在下文中,广义后缀自动机简称广义 \(\text{SAM}\)。 记 \(|S|\) 为字符串 \(S\) 的长度。 记 \(\sum\) 为字符集,\(|\sum|\)​​ 为字符集大小。 在针对时间复杂度的分析时,\(n\) 指 \(\t 阅读全文
posted @ 2024-03-20 21:22 DycIsMyName 阅读(67) 评论(0) 推荐(0)
摘要:后缀自动机学习笔记 前言 为了方便,下文有如下约定: 在下文中,后缀自动机简称 \(\text{SAM}\)。 记 \(|S|\) 为字符串 \(S\) 的长度。 记 \(\sum\) 为字符集,\(|\sum|\) 为字符集大小。 定义 字符串 \(S\) 的 \(\text{SAM}\) 是一个 阅读全文
posted @ 2024-03-16 14:50 DycIsMyName 阅读(92) 评论(0) 推荐(0)
摘要:回文自动机学习笔记 定义 所谓自动机,是一个对信号序列进行判定的数学模型。即对一连串有顺序的信号关于某一个判定给出或真或假的判定。 所谓回文自动机,就是对一个字符串进行其是否为回文串的判定。也就是存储字符串 \(s\) 中的所有的回文串。与 \(\text{Manacher}\) 不同的是,\(\t 阅读全文
posted @ 2024-03-12 21:55 DycIsMyName 阅读(59) 评论(0) 推荐(0)
摘要:\(\text{Manacher}\) 学习笔记 定义 所谓回文串,指的是对于一个字符串 \(s\),若它的长为 \(n\),下标从 \(1\) 到 \(n\),如果 \(\forall i\in [1,n],s_i=s_{n+1-i}\),那么字符串 \(s\) 是一个回文串。 给定一个字符串 \ 阅读全文
posted @ 2024-03-09 17:06 DycIsMyName 阅读(35) 评论(0) 推荐(0)
摘要:\(\text{LCT}\) 学习笔记 可曾久仰 \(\text{LCT}\) 大名,可曾听闻 \(\text{Splay}\) 骂名? 动态树 对于一棵有 \(n\) 个节点的树,如果每个点都有点权,那么求解 \(x,y\) 之间的路径上的点权和可以用树链剖分+线段树简单做到。 考虑对于一棵 \( 阅读全文
posted @ 2024-10-31 20:31 DycIsMyName 阅读(62) 评论(0) 推荐(1)
摘要:\(\text{Min}\_25\) 筛学习笔记 事实上我又学习了一个有点春的筛法。\(\text{Min}\_25\) 筛用于求解积性函数的前缀和,即形如 \(g(n)=\sum_{i=1}^{n}f(i)\) 形式的函数 \(g\)。 众所周知,朴素筛法之所以无法做到低于线性是因为枚举了区间内的 阅读全文
posted @ 2024-08-30 11:02 DycIsMyName 阅读(45) 评论(0) 推荐(0)
摘要:\(\text{Min-Max}\) 容斥学习笔记 概念 \(\text{Min-Max}\) 容斥,又称最值反演,是一种对于特定集合,在已知最小值或最大值中一者的情况下,求另一种的算法。首先观察几个式子: \[\max(a)=a\\ \max(a,b)=a+b-\min(a,b)\\ \max(a 阅读全文
posted @ 2024-08-01 21:09 DycIsMyName 阅读(108) 评论(0) 推荐(0)
摘要:位运算卷积学习笔记 位运算卷积,即快速沃尔什变换 \(\text{FWT}\) 和快速莫比乌斯变换 \(\text{FMT}\),但事实上最常用的是 \(\text{FWT}\),因为 \(\text{FMT}\) 所求解的内容是 \(\text{FWT}\) 的子集。 位运算卷积 首先要知道位运算 阅读全文
posted @ 2024-07-30 19:33 DycIsMyName 阅读(108) 评论(0) 推荐(0)
摘要:斯特林数学习笔记 前置知识 普通生成函数+下降幂+多项式 定义 斯特林数是组合数学概念,分为第一类斯特林数和第二类斯特林数 第一类斯特林数 第一类斯特林数表示为 \(\begin{bmatrix}n\\m\end{bmatrix}\),表示 \(n\) 个不同的人坐 \(m\) 张相同的圆桌的方案数 阅读全文
posted @ 2024-07-11 11:11 DycIsMyName 阅读(100) 评论(0) 推荐(1)
摘要:下降幂学习笔记 还原精灵还我笔记——来自打完笔记但关电脑前没有保存的某人的呐喊。 定义 下降幂就是形如 \(n^{\underline{m}}\) 的式子,表示 \[n^{\underline{m}}=\prod_{i=n-m+1}^{n}=\frac{n!}{(n-m)!} \]同理声明一个上升幂 阅读全文
posted @ 2024-07-09 21:23 DycIsMyName 阅读(281) 评论(0) 推荐(0)
摘要:普通生成函数学习笔记 定义 已知一个序列 \(a\),可以是有限项也可以是无限项,定义其生成函数 \(F(x)\) 为 \[F(x)=\sum a_ix^i \]作用 生成函数本质是一个多项式,所以可以进行多项式卷积,方便处理序列问题。假设序列 \(a\) 的生成函数是 \(F(x)\),序列 \( 阅读全文
posted @ 2024-07-06 13:29 DycIsMyName 阅读(95) 评论(0) 推荐(0)
摘要:二项式反演学习笔记 概念 二项式反演作为一种反演形式,常用于通过指定若干个求解恰好若干个的问题,即我们常说的容斥问题。 引入 首先讲讲朴素容斥。 作为集合来说,有 \[|A\cup B|=|A|+|B|-|A\cap B| \]这其实就是容斥原理。更一般地,有 \[|A_1\cup A_2\cup\ 阅读全文
posted @ 2024-07-05 17:07 DycIsMyName 阅读(75) 评论(0) 推荐(0)
摘要:\(\text{FFT}\) 学习笔记 建议先学习普通生成函数。 多项式 确定一个多项式,往往只需要知道每一次项前的系数是多少即可。众所周知,一个朴素的多项式往往可以被写成 \[f(x)=\sum_{n\ge 0}a_nx^n \]的形式,在这种形式下的两个多项式 \(f,g\) 的乘积 \(h\) 阅读全文
posted @ 2024-07-02 19:14 DycIsMyName 阅读(67) 评论(0) 推荐(0)
摘要:原根学习笔记 原根 这是一个又臭又长的内容。 拉格朗日定理:设 \(p\) 为素数,对于模 \(p\) 意义下的整系数多项式 \[f(x)=a_nx^n+a_{n-1}x^{n-1}+\cdots+a_0(p\nmid a_n) \]的同余方程 \(f(x)\equiv 0\pmod p\) 在模 阅读全文
posted @ 2024-07-02 19:13 DycIsMyName 阅读(99) 评论(0) 推荐(0)
摘要:替罪羊树学习笔记 史! 思想 众所周知,替罪羊树是一种平衡二叉搜索树,其拥有虽然我不理解为什么,但是很牛的复杂度。其思想在于通过一个系数进行定期重构,使得维护所有信息的树是一棵接近平衡树的伪平衡树,那么他依然拥有 \(O(\log n)\) 级别的层高,因此对于跳转查询依旧具有优异的复杂度。 但是, 阅读全文
posted @ 2024-06-08 19:25 DycIsMyName 阅读(75) 评论(0) 推荐(0)
摘要:矩阵树定理学习笔记 真的,我这辈子都没有想过行列式还能用到这种地方。 定义 图的关联矩阵 对于一张有 \(n\) 个点、\(m\) 条边的图(对于无向图,可以随便定义边的方向,因为相反的边只需要将对应列乘以 \(-1\) 即可),我们定义其关联矩阵 \(M\) 满足: \[M_{i,j}=\left 阅读全文
posted @ 2024-05-29 21:19 DycIsMyName 阅读(39) 评论(0) 推荐(0)
摘要:高斯消元学习笔记 其实这个主题能够复活主要还是粘了 \(\text{LGV}\) 引理的光,不然我还不知道高斯消元其实不光能求解线性方程组。 求解线性方程组 这个只能说是典中典了,我不相信没有一个人的高斯消元不是从这里开始的。 我们考虑求解线性方程组的本质:将每一个式子所有未知数前都有系数转化成每一 阅读全文
posted @ 2024-05-26 17:12 DycIsMyName 阅读(69) 评论(0) 推荐(1)
摘要:\(\text{LGV}\) 引理学习笔记 \(\text{LGV}\) 引理一般用于求解有向无环图中多条不相交路径的方案数,引理内容如下。 引理 定义 \(w(P)\) 指的是路径 \(P\) 上所有边权的乘积(在路径计数问题中认为所有边权均为 \(1\) 即可),\(e(A,B)\) 指的是 \ 阅读全文
posted @ 2024-05-26 14:52 DycIsMyName 阅读(109) 评论(1) 推荐(3)
摘要:\(\text{K-D tree}\) 学习笔记 \(\text{K-D tree}\) 是一种针对 \(k\) 维问题求解的算法,并且拥有出色的时空复杂度。 思想 \(\text{K-D tree}\) 本质上是一棵 \(k\) 维的二叉平衡树,这保证了其树高稳定在 \(\log n\) 附近,为 阅读全文
posted @ 2024-05-23 21:40 DycIsMyName 阅读(176) 评论(0) 推荐(2)
摘要:线段树综合 自从模拟赛出现一道勾石线段树题目开始,命运的齿轮就开始转动。 线段树分裂 之前学过线段树合并,现在又要学线段树分裂了 \(\text{qwq}\)。 线段树分裂意在将线段树维护的信息拆成多个区间进行维护。不难发现,如果直接重新建树是 \(O(n\log n)\) 的,而线段树分裂能够做到 阅读全文
posted @ 2024-05-09 17:12 DycIsMyName 阅读(74) 评论(0) 推荐(1)
摘要:\(\text{2-sat}\) 学习笔记 有这样一类问题,有多个变量 \(a_{1\to n}\),每个变量的取值范围为 \(\{0,1\}\),给出 \(m\) 条限制条件,形如 \((\lor_{i=1}^{k}a_{p_i}=x_i)=\text{true}\) 的形式,需要你求解是否有可行 阅读全文
posted @ 2024-12-11 19:13 DycIsMyName 阅读(58) 评论(0) 推荐(0)
摘要:凸包学习笔记 内容好多啊。 概念 \(n\) 个点形成的凸包,指的是在坐标系上这 \(n\) 个点构成的包含所有点的,以这 \(n\) 个点中的一些为顶点的极小的凸多边形。而一个凸包又由两部分组成,分为上凸壳和下凸壳(其实和凸包区分性不大),可以理解为这个凸多边形的上半部分和下半部分。 常见场景 维 阅读全文
posted @ 2024-12-10 18:13 DycIsMyName 阅读(98) 评论(0) 推荐(0)
摘要:插头 \(\text{dp}\) 学习笔记 前置芝士:状态压缩 \(\text{dp}\),轮廓线 \(\text{dp}\) 引入 存在一个 \(n\times m\) 的棋盘,若使用多米诺骨牌进行覆盖,有多少种方式能不重叠不遗漏的覆盖整个棋盘? 对于上面的问题,使用状压 \(\text{dp}\ 阅读全文
posted @ 2024-12-01 17:09 DycIsMyName 阅读(89) 评论(0) 推荐(0)
摘要:整体二分学习笔记 谁说这二分老了,这二分太棒了! 概念 二分适用于答案具有单调性的题目,思路是令 \(\text{Solve}(l,r)\) 表示二分此问题的答案时,已经知道了 \(ans\in[l,r]\)。此时如果有一种手段 \(\text{check(x)}\) 判断 \(ans\ge x\) 阅读全文
posted @ 2024-12-18 16:42 DycIsMyName 阅读(145) 评论(0) 推荐(1)
摘要:《具体数学》阅读笔记 目录《具体数学》阅读笔记1. 常见化简技巧1.1. 基数变换1.2. 待定系数法1.3. 和式和递归式1.3.1. 求和因子1.3.2 扰动法1.3.3 巧用定律与法则 1. 常见化简技巧 1.1. 基数变换 形如 \[\begin{aligned} &f(j)=\alpha_ 阅读全文
posted @ 2024-12-30 22:05 DycIsMyName 阅读(146) 评论(0) 推荐(0)
摘要:辛普森积分学习笔记 定积分 定积分的定义 设函数 \(f(x)\) 在区间 \([a,b]\) 上有界,在 \([a,b]\) 中插入若干个分点 \[a=x_0<x_1<x_2<\cdots<x_{n-1}<x_n=b \]把区间 \([a,b]\) 分成 \(n\) 个小区间,各小区间的长度依次为 阅读全文
posted @ 2025-01-23 15:18 DycIsMyName 阅读(104) 评论(0) 推荐(1)