随笔分类 -  OI / 学习笔记

算法学习笔记
摘要:\(\text{K-D tree}\) 学习笔记 \(\text{K-D tree}\) 是一种针对 \(k\) 维问题求解的算法,并且拥有出色的时空复杂度。 思想 \(\text{K-D tree}\) 本质上是一棵 \(k\) 维的二叉平衡树,这保证了其树高稳定在 \(\log n\) 附近,为 阅读全文
posted @ 2024-05-23 21:40 DycIsMyName 阅读(147) 评论(0) 推荐(2)
摘要:线段树综合 自从模拟赛出现一道勾石线段树题目开始,命运的齿轮就开始转动。 线段树分裂 之前学过线段树合并,现在又要学线段树分裂了 \(\text{qwq}\)。 线段树分裂意在将线段树维护的信息拆成多个区间进行维护。不难发现,如果直接重新建树是 \(O(n\log n)\) 的,而线段树分裂能够做到 阅读全文
posted @ 2024-05-09 17:12 DycIsMyName 阅读(50) 评论(0) 推荐(1)
摘要:拉格朗日插值学习笔记 应用 众所周知,在平面直角坐标系中,对于任意的 \(n\) 个点,都一定有一个不超过 \(n-1\) 次的函数与之相对应。拉格朗日插值适用于求解这 \(n\) 个点对应的函数。 思路 考虑给定的 \(n\) 个点的坐标表示为 \((x_i,y_i)\),不难构造出如下函数: \ 阅读全文
posted @ 2024-04-20 15:22 DycIsMyName 阅读(46) 评论(0) 推荐(1)
摘要:数论分块学习笔记 性质 数论分块用于快速计算含有除法向下取整的和式,即形如 \(\sum_{i=1}^nf(i)g(\lfloor\frac{n}{i}\rfloor)\) 的式子。当预处理出 \(f\) 的前缀和时,数论分块可以在 \(O(\sqrt{n})\) 的时间复杂度下计算上述和式的值。 阅读全文
posted @ 2024-04-02 21:15 DycIsMyName 阅读(42) 评论(0) 推荐(2)
摘要:莫比乌斯反演学习笔记 前言 之前学了一遍,只学了朴素的莫比乌斯反演,现在第二次面对不知道能否有所长进。 性质 莫比乌斯反演是数论中的重要内容。对于一些函数 \(f(n)\),如果难以直接求出它的值,但容易求得其倍数和或约数和 \(g(n)\),那么可以通过莫比乌斯函数反演简化运算,从而求得 \(f( 阅读全文
posted @ 2024-04-02 21:15 DycIsMyName 阅读(33) 评论(0) 推荐(1)
摘要:广义后缀自动机学习笔记 前言 为了方便,下文有如下约定: 在下文中,广义后缀自动机简称广义 \(\text{SAM}\)。 记 \(|S|\) 为字符串 \(S\) 的长度。 记 \(\sum\) 为字符集,\(|\sum|\)​​ 为字符集大小。 在针对时间复杂度的分析时,\(n\) 指 \(\t 阅读全文
posted @ 2024-03-20 21:22 DycIsMyName 阅读(51) 评论(0) 推荐(0)
摘要:后缀自动机学习笔记 前言 为了方便,下文有如下约定: 在下文中,后缀自动机简称 \(\text{SAM}\)。 记 \(|S|\) 为字符串 \(S\) 的长度。 记 \(\sum\) 为字符集,\(|\sum|\) 为字符集大小。 定义 字符串 \(S\) 的 \(\text{SAM}\) 是一个 阅读全文
posted @ 2024-03-16 14:50 DycIsMyName 阅读(57) 评论(1) 推荐(0)
摘要:回文自动机学习笔记 定义 所谓自动机,是一个对信号序列进行判定的数学模型。即对一连串有顺序的信号关于某一个判定给出或真或假的判定。 所谓回文自动机,就是对一个字符串进行其是否为回文串的判定。也就是存储字符串 \(s\) 中的所有的回文串。与 \(\text{Manacher}\) 不同的是,\(\t 阅读全文
posted @ 2024-03-12 21:55 DycIsMyName 阅读(30) 评论(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 阅读(22) 评论(0) 推荐(0)
摘要:后缀数组学习笔记 定义 所谓后缀,指的是对于一个字符串 \(s\),如果它的下标从 \(1\) 到 \(n\),那么对于 \(s\) 的一个后缀 \(i=s[i\dots n]\)。 所谓后缀数组 sa[],就是按照这些后缀的字典序排序后得到的数组。更具体的,后缀数组 sa[i] 中存储的是字符串 阅读全文
posted @ 2024-03-07 21:50 DycIsMyName 阅读(59) 评论(0) 推荐(0)
摘要:虚树学习笔记 定义 虚树指的是不同于原树(我称之为实树)的重构树,使得在同样能够求解的情况下,整棵树的节点数更少,从而使得在存在多次询问时,一些复杂度关于树的节点数的树上算法能够在时限内求解。 常用场景 一般来说,虚树的使用场景比较单一,常见于在实树上存在一些特殊节点,并且答案与这些节点有关的题目, 阅读全文
posted @ 2024-03-07 21:27 DycIsMyName 阅读(207) 评论(0) 推荐(0)
摘要:线性基学习笔记 定义 线性空间 \(V\) 内的一个极大线性无关组是 \(V\) 的一组 hamel 基 或 线性基,简称 基。 以上内容是 OI WIKI 中提及的定义。 更具体一点来说,对于一个向量组 \(v\),如果满足对于任意的取值,使 \(\sum_{i=1}^n\alpha_iv_i\n 阅读全文
posted @ 2024-03-07 21:27 DycIsMyName 阅读(111) 评论(0) 推荐(0)
摘要:网络流学习笔记 本来是不想写的,因为不想在里面博客插入图片,但是发现网络流似乎可以牵扯出许多不为人知的图论内容,因此特此写一篇博客铺路。 前言 网络流是一种说难也不难,说简单也不简单的结构。难就难在对于一道题来说,我们难以分辨需要用到什么算法,怎么建图,因此,我们只能多做多练,积累各种各样的模型。 阅读全文
posted @ 2024-03-07 21:27 DycIsMyName 阅读(39) 评论(0) 推荐(0)
摘要:基环树学习笔记 定义 基环树指的是一张有 \(n\) 个节点和 \(n\) 条边的图,如果不保证连通的话,那么整张图是一张基环树森林。并且如果将环上的任意一条边去除,那么整棵基环树会成为一棵普通的树。 分类 基环树有以下几种特殊情况,也是题目中较多出现的。 基环内向树 指的是在一棵有向基环树中,所有 阅读全文
posted @ 2024-03-07 21:27 DycIsMyName 阅读(97) 评论(2) 推荐(0)
摘要:笛卡尔树学习笔记 定义 笛卡尔树是一棵特殊的二叉树,它的每个节点都包含了两个值 \((k,w)\)。其中,整棵树关于 \(k\) 为一棵二叉搜索树,而关于 \(w\) 为一个小根堆(或大根堆)。 到这里可以发现,Treap 是一种特殊的笛卡尔树,因为 Treap 相当于给定了 \(k\),而我们人为 阅读全文
posted @ 2024-03-07 21:27 DycIsMyName 阅读(114) 评论(0) 推荐(1)