题目链接:
| 题目链接 | 题目难度 |
| 洛谷P3372 【模板】线段树 1 | 普及+/提高 |
哈喽,大家好,我们又见面了。
今天大家来讲线段树。
首先简单介绍一下线段树:
线段树,是一种二叉搜索树,它将一个区间划分成一些小的区间,每个小的区间对应线段树中的一个叶结点。
线段树常常用于数列修改与求值的问题,作者已经整理了一些常考的(如下):
首先是修改:
- 单点修改;
- 单点加、减、乘、除(向上取整,向下取整,四舍五入);
- 区间修改;
- 区间加、减、乘、除(向上取整,向下取整,四舍五入);
- 区间开根(向上取整,向下取整,四舍五入);
- 区间开方;
- 区间翻转;
- 其他(比如区间加等差数列,单点的其他操作)。
查询:就是继而
- 单点查询;
- 区间和;
- 区间最大值(max);
- 区间最小值(min);
- 其他。
当然,这种困难大家也行用别的方法来做,比如:
浙公网安备 33010602011771号