线段树
朴素线段树
基础
# 搭配倍增求解左右横跳问题
# 同种元素只有区间第一个产生影响时,离线并删去上一个元素
优化dp
树剖
典
树剖+差分的例题:# P9808 [POI 2022 ~2023R1] zbo,LCA,旧词
矩阵乘法优化
也可通过此实现更为简便的历史和
# 优化斐波那契数列求解
主席树
"半离线"的二维问题解决方案
[[李超线段树]]
维护区间函数的第一方式
树套树
用于带修二维问题
# 经典dfs序转二维数点-接水果
[[线段树合并]]
单侧递归
一般单侧递归问题都可以换维扫描线 # 第一代图灵机
Trick
[[非重复元素配对问题]]
[[扫描线]] 问题的解决方案
区间中位数也可以用二分答案法解决,区间内仅有大小比较的找数问题,都可以用 二分答案+01赋值法解决 # HEOI2016 排序
对于区间每时刻加,加后有上限的问题,可以将所有数分为“已经爆仓”和“没有爆仓”两部分,计算出每个点经过 $a_i$ 秒会变爆仓,设上次修改时间为 $x_i$ ,当前时间为 $T$ ,那么判定他爆仓的标准即为 $T-x_i \ge a_i$ ,变为一个二维数点问题 Little Pony and Lord Tirek
当寻找一个区间内部所有子区间中的最值时,可以考虑扫描线,观察子区间的存在合法方案的左端点的选取是否为一段区间,然后利用“子串=前缀的后缀”解决 [[P7907 Ynoi2005 rmscne 题解 | rmscne]]
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 mygr main()!