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