src/cplib/collections/persistent_binary_trie

  Source   Edit

--mm:arc推奨かも。

Types

PersistentBinaryTrie = object
  root: PersistentBinaryTrieNode
  h: int
  Source   Edit

Procs

proc `$`(self: PersistentBinaryTrie): string {....raises: [], tags: [].}
  Source   Edit
proc `[]`(self: PersistentBinaryTrie; idx: Natural): int {....raises: [], tags: [].}
  Source   Edit
proc contains(self: PersistentBinaryTrie; x: Natural): bool {....raises: [],
    tags: [].}
  Source   Edit
proc count(self: PersistentBinaryTrie; x: Natural): int {....raises: [], tags: [].}
  Source   Edit
proc excl(self: PersistentBinaryTrie; x: Natural; v: int = 1): PersistentBinaryTrie {.
    ...raises: [], tags: [].}
  Source   Edit
proc get_kth(self: PersistentBinaryTrie; k: Natural; xor_value: int = 0): int {.
    ...raises: [], tags: [].}
存在するならば値を返す しないならば-1を返す   Source   Edit
proc incl(self: PersistentBinaryTrie; x: Natural; v: int = 1): PersistentBinaryTrie {.
    ...raises: [], tags: [].}
  Source   Edit
proc initPersistentBineryTrie(h: int): PersistentBinaryTrie {....raises: [],
    tags: [].}
  Source   Edit
proc lowerBound(self: PersistentBinaryTrie; x: Natural): int {....raises: [],
    tags: [].}
x未満の要素数   Source   Edit
proc RLE(self: PersistentBinaryTrie): seq[(int, int)] {....raises: [], tags: [].}
  Source   Edit
proc set_value(self: PersistentBinaryTrie; x: Natural; v: int): PersistentBinaryTrie {.
    ...raises: [], tags: [].}
  Source   Edit
proc upperBound(self: PersistentBinaryTrie; x: Natural): int {....raises: [],
    tags: [].}
x以下の要素数   Source   Edit