古典叙事 · 技术札记

序章

山河有卷
人间有声

写代码,也写长风、旧城与未熄的灯。
愿每一篇随笔,都有自己的山水与回声。
阅览随笔
摘要: 单调队列 定义 单调队列是指通过对队列的队首和队尾进行操作以保证队列的单调性 使用 单调队列可以用来查询区间中的最大和最小值,例如下面这道模板题 P1886 滑动窗口 /【模板】单调队列 题目描述 有一个长为 \(n\) 的序列 \(a\),以及一个大小为 \(k\) 的窗口。现在这个窗口从左边开始 阅读全文
posted @ 2025-08-11 15:51 Morphis‘ 阅读(31) 评论(0) 推荐(0)
摘要: 单调栈 定义 单调栈即满足单调性的栈结构,只在一端进出。 就是在往栈里面插入元素的时候,从栈顶拿出一定的元素,以保证栈内的单调性。这样就可以快速找到类似于区间内的最小值之内的操作 伪代码 for (i64 i = n; i >= 1; i--) { while (!s.empty() && a[s. 阅读全文
posted @ 2025-08-11 15:24 Morphis‘ 阅读(25) 评论(0) 推荐(0)
摘要: 定义 如果在树中选择某个节点并删除,这棵树将分为若干棵子树,统计子树节点数并记录最大值。取遍树上所有节点,使此最大值取到最小的节点被称为整个树的重心。、 性质 树的重心如果不唯一,则至多有两个,且这两个重心相邻。 以树的重心为根时,所有子树的大小都不超过整棵树大小的一半。 树中所有点到某个点的距离和 阅读全文
posted @ 2025-08-08 11:21 Morphis‘ 阅读(37) 评论(0) 推荐(0)
摘要: 定义 两个节点的最近公共祖先,就是这两个点的公共祖先里面,离根最远的那个。 朴素算法 首先从深度大的点开始往根节点遍历,依次标记经过的点,然后深度小的节点开始遍历,找到第一个被标记的节点,那么这个节点就是最近的公共祖先。 朴素算法每次查询的复杂度是(n),当查询多次时会到达(nm),所以我们采用LC 阅读全文
posted @ 2025-08-07 15:52 Morphis‘ 阅读(83) 评论(0) 推荐(0)