[][src]Struct algonium::data_structure::BITRange

pub struct BITRange { /* fields omitted */ }

Binary Indexed Tree (range-version) (0-indexed)

This data structure two queries in O(log n)

  1. add w to v[begin], v[begin+1], ..., v[end-1]
  2. get the sum of v[begin], v[begin+1], ..., v[end-1]

Methods

impl BITRange[src]

pub fn new(n: usize) -> BITRange[src]

pub fn add(&mut self, begin: usize, end: usize, by: i64)[src]

v[begin], v[begin+1], ..., v[end-1] += by

pub fn get(&self, begin: usize, end: usize) -> i64[src]

v[begin] + ... + v[end-1]

Auto Trait Implementations

impl Send for BITRange

impl Sync for BITRange

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]