src/cplib/utils/mo

  Source   Edit

Types

Mo = object
  width*: int
  N, Q: int
  qli: seq[seq[int]]
  size: int
  Source   Edit

Procs

proc initMo(N, Q: int; width = max(1, int(
    1.0 * float(N) / max(1.0, sqrt(float(Q) * 2.0 / 3.0))))): Mo {....raises: [],
    tags: [].}
  Source   Edit
proc insert(self: var Mo; l, r: int) {....raises: [], tags: [].}
  Source   Edit
proc run[AL, AR, DL, DR, REM](self: var Mo; add_left: AL; add_right: AR;
                              delete_left: DL; delete_right: DR; rem: REM)
  Source   Edit