src/cplib/graph/namori_forest

  Source   Edit

Types

NamoriForest = ref object
  tree: HeavyLightDecomposition
  rootNo: seq[int]
  roots: seq[int]
  comp: seq[int]
  cyclesize: seq[int]
  superRoot: int
  Source   Edit

Procs

proc component(namori: NamoriForest; x: int): int {....raises: [], tags: [].}
  Source   Edit
proc dist(namori: NamoriForest; u, v: int): (int, int) {....raises: [], tags: [].}
u, v 間の距離を二通り返します。 (小さいほう,大きいほう) 同じ木部分にいるなら二通り目は INF64。 別連結成分なら (INF64, INF64)。   Source   Edit
proc incycle(namori: NamoriForest; x: int): bool {....raises: [], tags: [].}
  Source   Edit
proc initNamoriForest(graph: UnWeightedUnDirectedGraph): NamoriForest {.
    ...raises: [], tags: [].}
  Source   Edit
proc root(namori: NamoriForest; x: int): int {....raises: [], tags: [].}
  Source   Edit
proc same_component(namori: NamoriForest; x, y: int): bool {....raises: [],
    tags: [].}
  Source   Edit
proc same_tree(namori: NamoriForest; x, y: int): bool {....raises: [], tags: [].}
  Source   Edit