文章分类 -  数据结构(ds) / 线段树

摘要:多次修改,最后单点查询:P2824 [HEOI2016/TJOI2016] 排序 二分答案,转化为 \(0/1\) 序列区间排序,最终单点查询,\(0/1\) 序列区间排序容易转化为区间求和与区间覆盖,线段树实现即可,时间复杂度 \(O(m\log n\log V)\),实现精细可以到 \(O(m\ 阅读全文
posted @ 2025-05-05 21:33 Hstry 阅读(58) 评论(0) 推荐(0)
摘要:一侧儿子会影响另一侧儿子的信息 例 1:P4198 楼房重建 有 \(a_{1\sim n}\),\(m\) 次操作每次修改其中一个位置,每次操作后输出此时 \(\frac{a_i}{i}\) 的前缀最大值数量,\(n,m\le10^5\) 单侧递归线段树模板题 对 \(b_i=\frac{a_i} 阅读全文
posted @ 2025-05-05 21:25 Hstry 阅读(145) 评论(0) 推荐(0)
摘要:要求标记有交换律,可以降低下传标记的常数,当标记比较复杂时可直接降低复杂度(常见于树套树中) 例:P8543 「Wdoi-2」纯粹的复仇女神 给定 \(a_{1\sim n}\) 和 \(c_{1\sim n}\),\(q\) 次询问 \(l,r\),每次求 \(\max_{k=1}^n(\min_ 阅读全文
posted @ 2025-04-28 16:24 Hstry 阅读(25) 评论(0) 推荐(0)
摘要:约定 线段树的分裂合并默认是操作 动态开点值域线段树,用 \(V\) 表示线段树的值域,用 \(a\) 和 \(b\) 表示两颗较小的树(即分裂得到的两颗子树或需要合并的两棵树)的大小(值域线段树的大小定义为叶结点的数量),用 \(a_{1\sim k}\) 表示多棵较小的树的大小 线段树分裂 给定 阅读全文
posted @ 2025-04-28 16:08 Hstry 阅读(92) 评论(0) 推荐(0)