RangeAssignMaxTree
class RangeAssignMaxTree : public LazySegmentTreeBase<int, uint8_t, RangeAssignMaxTree>
Structure supporting range assignment and range maximum operations.
Public Types
- using ValueType = int
Public Functions
inline RangeAssignMaxTree(size_t size, ValueType initialValue)
inline void updateFromChildren(NodeType &parent, const NodeType &left, const NodeType &right)
inline void pushDown(size_t parent)
inline void setRange(size_t left, size_t right, NodeType value)
Change all the elements in range [left, right) to value.
Parameters
left – inclusive range left side
right – exclusive right side of range
value – value to be assigned
inline int rangeMaximum(size_t l, size_t r)
Calculate biggest value in the range [l, r)
Parameters
l – inclusive left side of range
r – exclusive right side of range
Returns
biggest value in given range