algorithm-tree-segment-tree
线段树
概念
线段树是一种用于解决区间更新和区间查询问题的高效数据结构
这里我把区间更新分成两种(upd函数)
区间添加更新,给这个区间的子数组都添加上某个值
区间覆盖更新,把这个区间的子数组都赋值为某个值
而区间查询也大概分为两种(query函数)
区间和查询,求这个区间的数组的元素值之和
区间最大值查询,求这个区间的数组的元素值的最大值
单点更新可以用区间更新的模板,只要把左右两个坐标设置成一样的就可以了
但是单点更新可以用树状数组解决,优先用树状数组解决,更简单
数组无lazy线段树
模板:区间覆盖更新,区间和查询
307. 区域和检索 - 数组可修改:单点覆盖更新,区间和查询
12345678910111213141516171819202122232425262728293031323334353637383940414243444546class SegmentTree { int[] nums; int len; int[] tree; public SegmentTree(int[] nums) { ...