src/cplib/collections/unionfind

  Source   Edit

Types

UnionFind = ref object
  count*: int
  par_or_siz: seq[int]
  Source   Edit

Procs

proc initUnionFind(N: int): UnionFind {....raises: [], tags: [].}
  Source   Edit
proc issame(self: UnionFind; x: int; y: int): bool {....raises: [], tags: [].}
  Source   Edit
proc root(self: UnionFind; x: int): int {....raises: [], tags: [].}
  Source   Edit
proc roots(self: UnionFind): seq[int] {....raises: [], tags: [].}
O(N)かけて、rootになっている頂点を列挙します。 注意:O(root数)でないことに注意してください。   Source   Edit
proc siz(self: UnionFind; x: int): int {....raises: [], tags: [].}
  Source   Edit
proc unite(self: UnionFind; x: int; y: int) {....raises: [], tags: [].}
  Source   Edit