摘要: 后缀数组学习笔记 定义 所谓后缀,指的是对于一个字符串 \(s\),如果它的下标从 \(1\) 到 \(n\),那么对于 \(s\) 的一个后缀 \(i=s[i\dots n]\)。 所谓后缀数组 sa[],就是按照这些后缀的字典序排序后得到的数组。更具体的,后缀数组 sa[i] 中存储的是字符串 阅读全文
posted @ 2024-03-07 21:50 DycIsMyName 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 线性基学习笔记 定义 线性空间 \(V\) 内的一个极大线性无关组是 \(V\) 的一组 hamel 基 或 线性基,简称 基。 以上内容是 OI WIKI 中提及的定义。 更具体一点来说,对于一个向量组 \(v\),如果满足对于任意的取值,使 \(\sum_{i=1}^n\alpha_iv_i\n 阅读全文
posted @ 2024-03-07 21:27 DycIsMyName 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 笛卡尔树学习笔记 定义 笛卡尔树是一棵特殊的二叉树,它的每个节点都包含了两个值 \((k,w)\)。其中,整棵树关于 \(k\) 为一棵二叉搜索树,而关于 \(w\) 为一个小根堆(或大根堆)。 到这里可以发现,Treap 是一种特殊的笛卡尔树,因为 Treap 相当于给定了 \(k\),而我们人为 阅读全文
posted @ 2024-03-07 21:27 DycIsMyName 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 网络流学习笔记 本来是不想写的,因为不想在里面博客插入图片,但是发现网络流似乎可以牵扯出许多不为人知的图论内容,因此特此写一篇博客铺路。 前言 网络流是一种说难也不难,说简单也不简单的结构。难就难在对于一道题来说,我们难以分辨需要用到什么算法,怎么建图,因此,我们只能多做多练,积累各种各样的模型。 阅读全文
posted @ 2024-03-07 21:27 DycIsMyName 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 基环树学习笔记 定义 基环树指的是一张有 \(n\) 个节点和 \(n\) 条边的图,如果不保证连通的话,那么整张图是一张基环树森林。并且如果将环上的任意一条边去除,那么整棵基环树会成为一棵普通的树。 分类 基环树有以下几种特殊情况,也是题目中较多出现的。 基环内向树 指的是在一棵有向基环树中,所有 阅读全文
posted @ 2024-03-07 21:27 DycIsMyName 阅读(42) 评论(2) 推荐(0) 编辑
摘要: 虚树学习笔记 定义 虚树指的是不同于原树(我称之为实树)的重构树,使得在同样能够求解的情况下,整棵树的节点数更少,从而使得在存在多次询问时,一些复杂度关于树的节点数的树上算法能够在时限内求解。 常用场景 一般来说,虚树的使用场景比较单一,常见于在实树上存在一些特殊节点,并且答案与这些节点有关的题目, 阅读全文
posted @ 2024-03-07 21:27 DycIsMyName 阅读(84) 评论(0) 推荐(0) 编辑