古典叙事 · 技术札记

序章

山河有卷
人间有声

写代码,也写长风、旧城与未熄的灯。
愿每一篇随笔,都有自己的山水与回声。
阅览随笔
摘要: 题意: 现在有0到n+1个点,这些点两两相邻,并且每一个点都有一个点权,现在要求第一个点0和最后一个点n+1必须要选择,再给出一个长度为n的01串,第i个字符代表第编号为i的点是否要选择,现要求任意两个点的距离都要小于给定的数字k,再给你m次修改,可以将点x的点权改变为num,现在要求你输出,每次修 阅读全文
posted @ 2025-10-13 15:53 Morphis‘ 阅读(21) 评论(0) 推荐(0)
摘要: 适用位置 线段树的合并与分裂是线段树的常用技巧,常见于权值线段树维护可重集的场景。 例如,树上某些结点处有若干操作,如果需要自下而上地将子节点信息传递给亲节点,而单个结点处的信息又方便用线段树维护时,就可以应用线段树合并的技巧控制整体的复杂度。 例如下面这个模板题 P4556 [Vani有约会] 雨 阅读全文
posted @ 2025-09-23 17:21 Morphis‘ 阅读(30) 评论(0) 推荐(0)
摘要: P4147 玉蟾宫 题目背景 有一天,小猫 rainbow 和 freda 来到了湘西张家界的天门山玉蟾宫,玉蟾宫宫主蓝兔盛情地款待了它们,并赐予它们一片土地。 题目描述 这片土地被分成 \(N\times M\) 个格子,每个格子里写着 'R' 或者 'F',R 代表这块土地被赐予了 rainbo 阅读全文
posted @ 2025-09-17 11:19 Morphis‘ 阅读(26) 评论(0) 推荐(0)
摘要: 简介: 分块的基本思想是,通过对原数据的适当划分,并在划分后的每一个块上预处理部分信息,从而较一般的暴力算法取得更优的时间复杂度。分块的时间复杂度主要取决于分块的块长,一般可以通过均值不等式求出某个问题下的最优块长,以及相应的时间复杂度。 分块是一种很灵活的思想,相较于树状数组和线段树,分块的优点是 阅读全文
posted @ 2025-08-20 20:36 Morphis‘ 阅读(19) 评论(0) 推荐(0)
摘要: 题目 https://www.luogu.com.cn/problem/P1908 P1908 逆序对 题目描述 猫猫 TOM 和小老鼠 JERRY 最近又较量上了,但是毕竟都是成年人,他们已经不喜欢再玩那种你追我赶的游戏,现在他们喜欢玩统计。 最近,TOM 老猫查阅到一个人类称之为“逆序对”的东西 阅读全文
posted @ 2025-08-19 14:56 Morphis‘ 阅读(42) 评论(0) 推荐(0)
摘要: 连通性相关有:强连通分量,双连通分量,割点和桥,边,点连通分量。 强连通分量 强连通的定义是:有向图 G 强连通是指,G 中任意两个结点连通。 强连通分量(Strongly Connected Components,SCC)的定义是:极大的强连通子图(就是这个子图中的任意两个点可以互相到达) Tar 阅读全文
posted @ 2025-08-19 11:33 Morphis‘ 阅读(37) 评论(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‘ 阅读(33) 评论(0) 推荐(0)
摘要: 定义 树链剖分是一种对树进行划分的算法,将树分为多条链子,保证每个点只属于一条链,然后再通过数据结构(树状数组,BST,SPLAY,线段树等)来维护每一条链。 分类 一般分为两种,重链剖分和长链剖分 重链剖分: 定义 重儿子:在该节点的儿子中,子数数量最多的节点(如果存在多个最大的,选其一即可)(叶 阅读全文
posted @ 2025-08-12 16:16 Morphis‘ 阅读(42) 评论(0) 推荐(0)
摘要: 线段树 定义 对于区间问题,如果对于区间有多次修改,并且有多次查询区间和类似的问题,如果使用暴力的方式,那么就会使复杂度达到o(n^2),对于单点修改,和区间查询,可以使用树状数组来解决,但是区间修改和区间查询,树状数组难以处理,所以我们引入线段树来维护区间信息,可以在(logn)的复杂度实现单点修 阅读全文
posted @ 2025-08-12 15:31 Morphis‘ 阅读(60) 评论(1) 推荐(0)
摘要: ST表 定义 st表是一种基于倍增思想的高级数据结构,对于区间查询最大值与最小值,可以达到o(1)的复杂度,预处理的复杂度为(nlogn) 模板题 https://www.luogu.com.cn/problem/P3865 题目大意:给定m个查询,每次找出区间(l,r)中的最大值 采用倍增的思想 阅读全文
posted @ 2025-08-11 18:09 Morphis‘ 阅读(31) 评论(0) 推荐(0)