随笔分类 -  数据结构

摘要:考虑一棵从低位到高位的 Trie. 每次全局加一,末位是 \(0\) 的数,末位会变成 \(1\);其他数,末位会变成 \(0\) 然后向前进位。 考虑直接交换左右子树,然后要进位的是交换后左子树的点,递归处理就行。 注意原来在节点 \(u\) 结束的数也会因为 \(+1\) 全部进入右子树,需要处 阅读全文
posted @ 2025-12-03 10:19 心灵震荡 阅读(13) 评论(0) 推荐(0)
摘要:原题链接:https://www.luogu.com.cn/problem/P6072 容易发现,问题等价于对每个点找到子树内外的最大异或和,并对它们的和取 max. 子树内的情况,可以树剖之后启发式合并。具体地,对每个节点维护一个 trie. 先处理完所有轻子树内的情况,然后处理重子树的情况并继承 阅读全文
posted @ 2025-07-11 11:03 心灵震荡 阅读(19) 评论(0) 推荐(0)
摘要:首先有一个经典小结论:\(k > 1\) 时,区间 LCA 的深度为 \(\min\limits_{i = l}^{r-1} \text{dep}_{\operatorname{LCA}(i, i+1)}\). 考虑对每个 \(x = \text{dep}_{\operatorname{LCA}(i 阅读全文
posted @ 2025-06-05 21:45 心灵震荡 阅读(47) 评论(0) 推荐(0)
摘要:题目描述 一个可重复数字集合 \(S\) 的神秘数定义为最小的不能被 \(S\) 的子集的和表示的正整数。例如 \(S=\{1,1,1,4,13\}\),有:\(1 = 1\),\(2 = 1+1\),\(3 = 1+1+1\),\(4 = 4\),\(5 = 4+1\),\(6 = 4+1+1\) 阅读全文
posted @ 2025-04-10 14:54 心灵震荡 阅读(38) 评论(0) 推荐(0)
摘要:题意简述 给定序列 \(a_{1 \cdots n}\),有 \(q\) 次询问,每次给定 \(l, r, k\),你需要在 \(l \sim r\) 中找到一个长度为 \(k\) 的子序列 \(b_{1 \cdots k}\),求 \(\max\limits_{i=1}^k (b_i+b_{i \ 阅读全文
posted @ 2025-02-19 10:51 心灵震荡 阅读(83) 评论(0) 推荐(0)
摘要:题目描述 一家餐厅有 \(n\) 道菜,编号 \(1, 2, \ldots, n\),大家对第 \(i\) 道菜的评价值为 \(a_i\)。有 \(m\) 位顾客,第 \(i\) 位顾客的期望值为 \(b_i\),而他的偏好值为 \(x_i\)。因此,第 \(i\) 位顾客认为第 \(j\) 道菜的 阅读全文
posted @ 2024-12-26 15:37 心灵震荡 阅读(36) 评论(0) 推荐(0)
摘要:比赛概述 A、C、D 来自小猫,B 来自 ZYZ. 验题人是小猫和 GPT5. 四道题都是小猫场切过的。小猫写四道题的时间大概分别是,10min + 50min + 2h + 1.5h. 小猫一合计,诶,这不就是一场 NOIP 模拟赛的 easy ver. 嘛! 于是就有了这场比赛。 关于难度 验题 阅读全文
posted @ 2024-07-22 08:23 心灵震荡 阅读(32) 评论(0) 推荐(0)
摘要:笛卡尔树(Cartesian Tree) 1. 定义 根据序列构造的满足以下性质的树: 二叉搜索树性质(BST):\(key_{ls} \le key_x \le key_{rs}\),\(key\) 默认为下标。 堆性质:\(val_{x} \le val_{ls} \le val_{rs}\). 阅读全文
posted @ 2024-07-05 09:56 心灵震荡 阅读(75) 评论(0) 推荐(0)
摘要:可并堆 / 左偏树 左偏树 外节点:只有一个儿子或没有儿子的节点。 距离:一个节点到离他最近的外节点的距离,即两节点之间的路径权值和。特别地,外节点的距离为 \(0\),空节点的距离为 \(-1\). 左偏树:满足如下性质的二叉树: 堆性质:任何节点的权值小于等于儿子节点的权值,即 \(val_{f 阅读全文
posted @ 2024-07-01 09:37 心灵震荡 阅读(97) 评论(0) 推荐(1)
摘要:给定一棵树,有修改边权和查询两点之间边权最大值两种操作,对于每个查询输出结果。 运用化边权为点权的思想,把边权转移到点上,并使用线段树维护最值。 阅读全文
posted @ 2023-08-20 18:52 心灵震荡 阅读(85) 评论(0) 推荐(1)