摘要: 📈 线段树进阶修炼指南:从基础到精通 第一阶:基础筑基与变形 这一阶段的核心是熟练掌握线段树的区间修改(Lazy Tag)与查询,并能应对坐标系的简单变形。 1. 离散化与区间覆盖 (LeetCode 699 掉落的方块) 题目抽象:在二维坐标系上不断落下宽度不同矩形方块,求每次落下后整个坐标系的 阅读全文
posted @ 2026-05-15 21:26 r_123 阅读(13) 评论(0) 推荐(0)
摘要: 一、 核心共性模型:权值线段树 (Value-Domain Segment Tree) 这两道题的底层核心都是权值线段树。 普通的线段树是以“数组的下标”建树,维护的是某个区间内的信息;而权值线段树是以“元素的值域”建树。 节点维护信息: cnt:当前数值区间内有多少个元素。 sum:当前数值区间内 阅读全文
posted @ 2026-05-15 20:41 r_123 阅读(13) 评论(0) 推荐(0)
摘要: 1. 105386J 抽象题面:带多重资源限制的最短路问题 在图上寻找最短路径,但每走一条边不仅看距离,还需要消耗特定种类的“资源”。且资源的使用有严格的顺序要求和单次容量上限。 核心思路: 状态隔离:因为资源种类很多,如果混在一起处理会很慢。所以用线段树森林,为每种资源单独开一棵动态开点线段树,维 阅读全文
posted @ 2026-05-15 18:26 r_123 阅读(12) 评论(0) 推荐(0)
摘要: ​ 单点修线段树: #include "bits/stdc++.h" using namespace std; // 1. 定义节点信息 struct Info { long long sum = 0; // 区间求和建议开 long long 防止溢出 }; // 2. 重载 + 运算符用于合并节 阅读全文
posted @ 2026-05-15 17:04 r_123 阅读(10) 评论(0) 推荐(0)