随笔分类 -  数据结构 / 线段树

该文被密码保护。
posted @ 2025-02-23 15:16 彬彬冰激凌 阅读(5) 评论(0) 推荐(2)
摘要:数据结构选讲-1 总结 线段树技巧及其应用。 前言 出题特点: 树形 \(polylog\) 数据结构为主,尤其线段树。 侧重数据结构维护算法,使用数据结构进行统计。 强调“从具体情境中抽象出合适的数据及目标”的过程。 数据结构本质上是要在数据和目标不变的情况下,优化算法复杂度,降低程序时间开销。 阅读全文
posted @ 2025-02-19 11:15 彬彬冰激凌 阅读(56) 评论(0) 推荐(2)
摘要:P6109 Ynoi2009 rprmq1 二区间合并(猫树)妙妙题。 思路 两维问题,可以离线。 直接线段树空间时间都不允许,考虑将一维离线。 如果分块的话每个块维护块内各个位置的最值,散块暴力处理。 考虑将分块的 \(O(\sqrt n)\) 换成猫树的 \(O(1)\)。 将第一维加入到猫树上 阅读全文
posted @ 2025-02-18 21:59 彬彬冰激凌 阅读(37) 评论(0) 推荐(1)
摘要:P6773 NOI2020 命运 数据结构上做 dp,少见但好用。 思路 首先我们用 dp 来解决这个问题。由于与祖先有关,我们不妨把一个节点的子问题限定在子树内,考虑所有从子树内连向子树外的集合 \(Q'\)。 设 \(f[u][i]\) 为 \(u\) 的集合 \(Q'\) 未被覆盖的祖先深度最 阅读全文
posted @ 2025-02-17 15:34 彬彬冰激凌 阅读(27) 评论(0) 推荐(2)
摘要:Max Mex 和线段树维护直径集合一样的 trick。 思路 如果一条路径 \(a\) 包含 \([l,r]\) 权值中的所有点,另一条路径 \(b\) 包含和 \([x,y]\) 权值中的所有点构成的。 那么对于一条路径包含 \([l,r]\cup [x,y]\) 权值中的点,其端点一定在 \( 阅读全文
posted @ 2024-10-30 22:56 彬彬冰激凌 阅读(32) 评论(0) 推荐(2)
摘要:P5524 Ynoi2012 NOIP2015 充满了希望 数组开大见祖宗。 思路 利用“插入-标记-回收”这套处理函数复合的算法。 不难发现只有询问才会产生贡献,而询问的值来自于距离它最近的且能覆盖这个询问的点的覆盖操作。 可以每个询问操作保存一个 \(pre\) 指向能给这个查询位置赋值的最近的 阅读全文
posted @ 2024-08-15 15:09 彬彬冰激凌 阅读(32) 评论(0) 推荐(0)
摘要:线段树合并 线段树合并可以使很多跑不过的暴力,特别是树上暴力的时间复杂度正确,与树分治的区别在于,线段树合并必须依次处理节点,但优势在于,保持了树的形态。 算法思路 引入 CF600E Lomsat gelral 使用一个数组记录该子树内的颜色出现次数。 每次每个节点暴力将儿子的信息合并到自己的数组 阅读全文
posted @ 2024-01-24 22:32 彬彬冰激凌 阅读(71) 评论(0) 推荐(0)
摘要:P7563 JOISC 2021 Day4 最悪の記者 4 (Worst Reporter 4) 线段树合并好题,通过线段树合并特别的方式优化了树形 dp。 思路 根据图中的不等关系连边建图,不难发现最后的图将会是基环树森林和普通的树的森林,我们先考虑对于一棵树要怎么办。 将 \(h_i\) 离散化 阅读全文
posted @ 2024-01-24 21:41 彬彬冰激凌 阅读(54) 评论(0) 推荐(0)
摘要:2023NOIP A层联测26 T3 tour 有意思的树上主席树。 思路 首先考虑一个点 \(p\) 能计入答案的情况,就是 \(dis(x,p)-a_p \ge a_p\)。 我们把 \(x \to y\) 的路径拆成 \(x \to lca,lca \to y\) 两条。 记录一个点 \(x\ 阅读全文
posted @ 2023-11-09 09:29 彬彬冰激凌 阅读(36) 评论(0) 推荐(0)
摘要:2023NOIP A层联测20 点餐 题目很好,可惜考试没想到。 思路 可以按照 \(b\) 从小到大排序,固定选择个数 \(k\),枚举选择的盘子 \(x\) 的 \(b\) 最大,最优解肯定是贪心的在前 \(x-1\) 个盘子里选择 \(k-1\) 个最小的,使用权值主席树可以在 \(O(\lo 阅读全文
posted @ 2023-10-30 22:49 彬彬冰激凌 阅读(36) 评论(0) 推荐(0)