pub enum AssignMin {}
Expand description
Range Minimum Query (RMQ), a classic application of ARQ. update(l, r, &f) sets all entries a[l..=r] to f. query(l, r) finds the minimum value in a[l..=r].
Trait Implementations§
Source§impl ArqSpec for AssignMin
impl ArqSpec for AssignMin
Source§fn op(a: &Self::S, b: &Self::S) -> Self::S
fn op(a: &Self::S, b: &Self::S) -> Self::S
Must satisfy the Associative Law:
For all a,b,c, op(a, op(b, c)) = op(op(a, b), c)
Source§fn identity() -> Self::S
fn identity() -> Self::S
Must satisfy the Identity Law:
For all a, op(a, identity()) = op(identity(), a) = a
Auto Trait Implementations§
impl Freeze for AssignMin
impl RefUnwindSafe for AssignMin
impl Send for AssignMin
impl Sync for AssignMin
impl Unpin for AssignMin
impl UnwindSafe for AssignMin
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