Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
Aleph::LCTLazyTag Concept Reference

Concept for a lazy-tag policy used in deferred path updates. More...

#include <tpl_link_cut_tree.H>

Concept definition

template<typename L, typename T>
std::equality_comparable<typename L::tag_type> and
requires(const typename L::tag_type & t1,
const typename L::tag_type & t2,
const T & val, size_t cnt)
{
typename L::tag_type;
{ L::tag_identity() } -> std::convertible_to<typename L::tag_type>;
{ L::apply(val, t1, cnt) } -> std::convertible_to<T>;
{ L::compose(t1, t2) } -> std::convertible_to<typename L::tag_type>;
}
Concept for a lazy-tag policy used in deferred path updates.
and
Check uniqueness with explicit hash + equality functors.
Divide_Conquer_DP_Result< Cost > divide_and_conquer_partition_dp(const size_t groups, const size_t n, Transition_Cost_Fn transition_cost, const Cost inf=dp_optimization_detail::default_inf< Cost >())
Optimize partition DP using divide-and-conquer optimization.
std::decay_t< typename HeadC::Item_Type > T
Definition ah-zip.H:105

Detailed Description

Concept for a lazy-tag policy used in deferred path updates.

A Lazy Tag dictates how deferred (lazy) operations apply to nodes and how multiple deferred operations compose together. This is essential for efficiently updating an entire path in O(log n) time.

Definition at line 110 of file tpl_link_cut_tree.H.