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 UnsafeUnpin 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