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