src/cplib/collections/root_rangesum

  Source   Edit

Types

RootRangeSum[T] = ref object
  blocksize: int
  length: int
  arr: seq[T]
  blockvalue: seq[T]
  e: T
  Source   Edit

Procs

proc `$`[T](self: RootRangeSum[T]): string
  Source   Edit
proc `[]=`[T](self: RootRangeSum[T]; index: Natural; val: T)
  Source   Edit
proc `[]`[T](self: RootRangeSum[T]; index: Natural): T
  Source   Edit
proc `[]`[T](self: RootRangeSum[T]; segment: HSlice[int, int]): T
  Source   Edit
proc get[T](self: RootRangeSum[T]; q_left: Natural; q_right: Natural): T
半解区間[q_left,q_right)についての演算結果を返します。   Source   Edit
proc get[T](self: RootRangeSum[T]; segment: HSlice[int, int]): T
  Source   Edit
proc initrangesum[T](v: seq[T]; bsize: int = v.len.float.sqrt.int(); e: T = 0): RootRangeSum[
    T]
  Source   Edit
proc len[T](self: RootRangeSum[T]): int
  Source   Edit
proc max_right[T](self: RootRangeSum[T]; l: int; f: proc (l: T): bool): int
  Source   Edit
proc min_left[T](self: RootRangeSum[T]; r: int; f: proc (l: T): bool): int
  Source   Edit
proc update[T](self: RootRangeSum[T]; idx: Natural; val: T)
idxの要素をvalに変更します。   Source   Edit