|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Assignment lazy tag: sets every node on a path to a fixed value. More...
#include <tpl_link_cut_tree.H>
Classes | |
| struct | tag_type |
| Payload for the assignment lazy tag. More... | |
Static Public Member Functions | |
| static constexpr tag_type | tag_identity () noexcept |
| static constexpr T | apply (const T &v, const tag_type &tag, size_t cnt) noexcept |
| static constexpr tag_type | compose (const tag_type &existing, const tag_type &newer) noexcept |
Assignment lazy tag: sets every node on a path to a fixed value.
Designed for use with SumMonoid. When assigning value v to a subtree of cnt nodes, the aggregate becomes v * cnt.
MinMonoid / MaxMonoid the aggregate after assignment is simply the assigned value (all nodes are equal). Write a custom tag in that case. Definition at line 269 of file tpl_link_cut_tree.H.
|
inlinestaticconstexprnoexcept |
Definition at line 285 of file tpl_link_cut_tree.H.
|
inlinestaticconstexprnoexcept |
Definition at line 291 of file tpl_link_cut_tree.H.
References Aleph::AssignLazyTag< T >::tag_type::active, and Aleph::divide_and_conquer_partition_dp().
|
inlinestaticconstexprnoexcept |
Definition at line 283 of file tpl_link_cut_tree.H.