古典叙事 · 技术札记

序章

山河有卷
人间有声

写代码,也写长风、旧城与未熄的灯。
愿每一篇随笔,都有自己的山水与回声。
阅览随笔
摘要: P4147 玉蟾宫 题目背景 有一天,小猫 rainbow 和 freda 来到了湘西张家界的天门山玉蟾宫,玉蟾宫宫主蓝兔盛情地款待了它们,并赐予它们一片土地。 题目描述 这片土地被分成 \(N\times M\) 个格子,每个格子里写着 'R' 或者 'F',R 代表这块土地被赐予了 rainbo 阅读全文
posted @ 2025-09-17 11:19 Morphis‘ 阅读(19) 评论(0) 推荐(0)
摘要: 简介: 分块的基本思想是,通过对原数据的适当划分,并在划分后的每一个块上预处理部分信息,从而较一般的暴力算法取得更优的时间复杂度。分块的时间复杂度主要取决于分块的块长,一般可以通过均值不等式求出某个问题下的最优块长,以及相应的时间复杂度。 分块是一种很灵活的思想,相较于树状数组和线段树,分块的优点是 阅读全文
posted @ 2025-08-20 20:36 Morphis‘ 阅读(10) 评论(0) 推荐(0)
摘要: 题目 https://www.luogu.com.cn/problem/P1908 P1908 逆序对 题目描述 猫猫 TOM 和小老鼠 JERRY 最近又较量上了,但是毕竟都是成年人,他们已经不喜欢再玩那种你追我赶的游戏,现在他们喜欢玩统计。 最近,TOM 老猫查阅到一个人类称之为“逆序对”的东西 阅读全文
posted @ 2025-08-19 14:56 Morphis‘ 阅读(36) 评论(0) 推荐(0)
摘要: 连通性相关有:强连通分量,双连通分量,割点和桥,边,点连通分量。 强连通分量 强连通的定义是:有向图 G 强连通是指,G 中任意两个结点连通。 强连通分量(Strongly Connected Components,SCC)的定义是:极大的强连通子图(就是这个子图中的任意两个点可以互相到达) Tar 阅读全文
posted @ 2025-08-19 11:33 Morphis‘ 阅读(28) 评论(0) 推荐(0)
摘要: CF1695D2 Tree Queries (Hard Version) 题目链接https://codeforces.com/contest/1695/problem/D2 题目描述 此问题与CF1695D1 Tree Queries (Easy Version)的唯一区别是树的大小的限定。 给定 阅读全文
posted @ 2025-08-15 15:33 Morphis‘ 阅读(22) 评论(0) 推荐(0)
摘要: 定义 树链剖分是一种对树进行划分的算法,将树分为多条链子,保证每个点只属于一条链,然后再通过数据结构(树状数组,BST,SPLAY,线段树等)来维护每一条链。 分类 一般分为两种,重链剖分和长链剖分 重链剖分: 定义 重儿子:在该节点的儿子中,子数数量最多的节点(如果存在多个最大的,选其一即可)(叶 阅读全文
posted @ 2025-08-12 16:16 Morphis‘ 阅读(31) 评论(0) 推荐(0)
摘要: 线段树 定义 对于区间问题,如果对于区间有多次修改,并且有多次查询区间和类似的问题,如果使用暴力的方式,那么就会使复杂度达到o(n^2),对于单点修改,和区间查询,可以使用树状数组来解决,但是区间修改和区间查询,树状数组难以处理,所以我们引入线段树来维护区间信息,可以在(logn)的复杂度实现单点修 阅读全文
posted @ 2025-08-12 15:31 Morphis‘ 阅读(49) 评论(1) 推荐(0)
摘要: ST表 定义 st表是一种基于倍增思想的高级数据结构,对于区间查询最大值与最小值,可以达到o(1)的复杂度,预处理的复杂度为(nlogn) 模板题 https://www.luogu.com.cn/problem/P3865 题目大意:给定m个查询,每次找出区间(l,r)中的最大值 采用倍增的思想 阅读全文
posted @ 2025-08-11 18:09 Morphis‘ 阅读(23) 评论(0) 推荐(0)
摘要: 单调队列 定义 单调队列是指通过对队列的队首和队尾进行操作以保证队列的单调性 使用 单调队列可以用来查询区间中的最大和最小值,例如下面这道模板题 P1886 滑动窗口 /【模板】单调队列 题目描述 有一个长为 \(n\) 的序列 \(a\),以及一个大小为 \(k\) 的窗口。现在这个窗口从左边开始 阅读全文
posted @ 2025-08-11 15:51 Morphis‘ 阅读(20) 评论(0) 推荐(0)
摘要: 单调栈 定义 单调栈即满足单调性的栈结构,只在一端进出。 就是在往栈里面插入元素的时候,从栈顶拿出一定的元素,以保证栈内的单调性。这样就可以快速找到类似于区间内的最小值之内的操作 伪代码 for (i64 i = n; i >= 1; i--) { while (!s.empty() && a[s. 阅读全文
posted @ 2025-08-11 15:24 Morphis‘ 阅读(15) 评论(0) 推荐(0)

特别策划 · CINEMATIC NOTES

风沙与孤骑

风起塞外,
胜负在刀剑之前。

“把复杂拆成秩序,把未知写成答案。”
Morphis · 山河一卷 愿你从这里出发,仍能听见山风。 影像:farfarSébastien Goldberg / Unsplash