src/cplib/collections/segtree2d

  Source   Edit

Types

SegmentTree2D[T] = ref object
  default: T
  merge: proc (x: T; y: T): T
  arr*: seq[SegmentTree[T]]
  lastnode: int
  H: int
  W: int
  Source   Edit

Procs

proc get[T](self: SegmentTree2D[T]; il: Natural; ir: Natural; jl: Natural;
            jr: Natural): T
長方形領域 i∈[il,ir), j∈[jl,jr) についての演算結果を返します。   Source   Edit
proc initSegmentTree2D[T](v: openArray[seq[T]]; merge: proc (x: T; y: T): T;
                          default: T): SegmentTree2D[T]
  Source   Edit
proc update[T](self: SegmentTree2D[T]; i, j: Natural; val: T)
(i, j)の要素をvalに変更します。   Source   Edit