Struct cp_library_rs::data_structure::bit::BIT
source · pub struct BIT<T: Monoid> {
pub size: usize,
/* private fields */
}
Expand description
BinaryIndexedTree
0-indexed
なインターフェースを持つBIT
Fields§
§size: usize
Implementations§
source§impl<T: Group> BIT<T>
impl<T: Group> BIT<T>
sourcepub fn sum<R: RangeBounds<usize>>(&self, range: R) -> T::Val
pub fn sum<R: RangeBounds<usize>>(&self, range: R) -> T::Val
任意の区間の和を求める
range
: 区間を表すRangeオブジェクト
source§impl<T: OrderedMonoid> BIT<T>
impl<T: OrderedMonoid> BIT<T>
sourcepub fn lower_bound(&self, w: T::Val) -> usize
pub fn lower_bound(&self, w: T::Val) -> usize
a_0 + a_1 + ... + a_i >= w
となる最小のi
を求める
sourcepub fn upper_bound(&self, w: T::Val) -> usize
pub fn upper_bound(&self, w: T::Val) -> usize
a_0 + a_1 + ... + a_i > w
となる最小のi
を求める