Struct link_cut_tree::MutexLinkCutTree
source · pub struct MutexLinkCutTree<Ext> { /* private fields */ }
Implementations§
source§impl<Ext: Update + DeltaAndPreferredChild + Link + Clone + Default> MutexLinkCutTree<Ext>
impl<Ext: Update + DeltaAndPreferredChild + Link + Clone + Default> MutexLinkCutTree<Ext>
pub fn new() -> Self
pub fn size(&self) -> usize
pub fn make_tree(&mut self, v: usize)
pub fn link(&mut self, v: usize, w: usize)
pub fn lca(&self, v: usize, w: usize) -> usize
pub fn set(&mut self, v: usize, value: i128)
pub fn path_apply(&mut self, v: usize, delta: i128)
pub fn path_aggregate(&self, v: usize) -> i128
pub fn path_aggregate_chop(&mut self, v: usize, u: usize) -> i128
pub fn split_root(&mut self, parent: usize, v: usize)
pub fn get(&self, v: usize) -> i128
source§impl MutexLinkCutTree<Caterpillar>
impl MutexLinkCutTree<Caterpillar>
pub fn caterpillar_apply(&mut self, v: usize, caterpillar_delta: i128)
source§impl MutexLinkCutTree<PathLength>
impl MutexLinkCutTree<PathLength>
pub fn ancestor_at(&self, v: usize, at: usize) -> usize
Trait Implementations§
Auto Trait Implementations§
impl<Ext> !RefUnwindSafe for MutexLinkCutTree<Ext>
impl<Ext> Send for MutexLinkCutTree<Ext>where
Ext: Send,
impl<Ext> Sync for MutexLinkCutTree<Ext>where
Ext: Send,
impl<Ext> Unpin for MutexLinkCutTree<Ext>where
Ext: Unpin,
impl<Ext> UnwindSafe for MutexLinkCutTree<Ext>where
Ext: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more