线段树大杂烩(持续更新中)

常规线段树(简单)

模板
树剖区间取负,单点修改维护最大最小总和
单点修改维护根节点乘积
维护区间连续 ( 0 / 1 ) 的长度
根据逆序对数还原排列
双指针+线段树永久化标记
50 多棵线段树动态开点
线段树(树状数组)求逆序对
单点插入区间查询
区间开根区间求和
单点修改区间最大连续和
区间加等差数列,维护区间和
区间加 w ( i q l + 1 ) 2 ,维护区间和

线段树与算法(简单)

优化 d p
线段树合并
李超线段树
主席树
线段树维护01排序
主席树支持历史版本的区间和,区间和,区间修改和时光倒流
树套树模板

线段树均摊分析(中等)

给出一个排列 b ,有一个初始值都为 0 的数组 a ,维护区间加 1 ,区间统计区间 ( a i / b i )
维护区间取模,单点修改,区间求和
区间与或维护最大值
区间取 p h i 区间求和
区间取模维护区间和+打表找规律

线段树维护状态转移(中等)

单点修改,要求从区间中选出一个非空子数列并保证相邻元素在原数组中下标奇偶性不同,求数列总和最大值
给定数字字串求保证区间中只出现构成2017的字串且不构成2016的字串需要删除的数字的最小值

树链剖分综合(中等)

换根树剖
换根树剖
动态开点线段树+树剖

线段树骚操作

维护区间加,区间开根,区间求和
维护线段树区间覆盖,区间加,区间和
维护区间取min查询区间最大与区间和
区间加 区间乘 区间加变形 区间覆盖 维护区间最大最小,单点值
支持区间加,区间取min和max,维护区间和,区间最大值,区间最小值
维护区间加,区间覆盖,区间最大,区间历史最大
区间变成 m a x ( x i a , 0 ) ,区间加 区间覆盖 询问单点最值 询问单点历史最值
维护区间加,区间取最大值,维护区间最小值,历史区间最小值
维护区间取两种最值,区间加,求区间两种历史最值,区间最小值
维护区间覆盖成非负数,区间变成 m a x ( x i + a , 0 ) ,询问区间中 0 的个数

猜你喜欢

转载自blog.csdn.net/dreaming__ldx/article/details/81261996