各类线段树题解

常规线段树:
洛谷P4560:区间修改Lazy标记,维护Max与Min,解题关键:k值如何覆盖Max和Min。
Codeforces 474F:维护区间gcd以及统计区间内和gcd相等的数的个数。
Codeforces 301D:线段树或者树状数组,节点保存位置信息,思维题。
Codeforces 914D:同样维护区间gcd,查询是难点,运用好相邻区间gcd之间的关系进行判断。

树上线段树
解决树上的修改查询问题,首先对树dfs得到树的dfs序(将树形映射到线形进行操作)再进行线段树的相关操作。

Codeforces 877E:dfs之后常规线段树操作。
Codeforces 600E****必做题,动态开点线段树,线段树合并,树上dfs。

区间合并问题:
HDU3380:和并区间最长上升子序列,线段树维护左右端点所能达到的最远距离以及区间最大距离,合并时三种判断,查询时注意区间长度不能超过查询区间。
Codeforces 527C线段树+最长01序列,非常经典的区间合并,必做题。
HDU1540和上题一样,思路基本相同,必做题。

主席树
Codeforces 813E:在线查询区间大于k的数的个数,好题。

其他类型
CodeForces 719E:线段树+矩阵快速幂,每一个节点维护一个矩阵,好题。

你可能感兴趣的:(各类线段树题解)