src/cplib/graph/functional_graph

  Source   Edit

Types

Functional_Graph = ref object
  tree*: HeavyLightDecomposition
  cycle_number: seq[int]
  cycle_idx: seq[int]
  roots: seq[int]
  cycle*: seq[seq[int]]
  Source   Edit

Procs

proc canmove_size(functional_graph: Functional_Graph; x: int): int {....raises: [],
    tags: [].}
xから到達することのできる頂点数(xも含む)   Source   Edit
proc cyclesize(functional_graph: Functional_Graph; x: int): int {....raises: [],
    tags: [].}
xから到達することができるサイクルのサイズ   Source   Edit
proc depth(functional_graph: Functional_Graph; x: int): int {....raises: [],
    tags: [].}
何回の移動でcycleに入るか   Source   Edit
proc dist(functional_graph: Functional_Graph; u, v: int): int {....raises: [],
    tags: [].}
uからvへ最短何回の移動で到達が可能か ただし、到達できないときは-1を返す。   Source   Edit
proc get_cycle(functional_graph: Functional_Graph; x: int): seq[int] {.
    ...raises: [], tags: [].}
xから到達できるサイクルを返す   Source   Edit
proc incycle(namori: Functional_Graph; x: int): bool {....raises: [], tags: [].}
  Source   Edit
proc initFunctionalGraph(graph: UnWeightedDirectedGraph): Functional_Graph {.
    ...raises: [], tags: [].}
  Source   Edit
proc movekth(functional_graph: Functional_Graph; x, cnt: int): int {....raises: [],
    tags: [].}
  Source   Edit
proc root(functional_graph: Functional_Graph; x: int): int {....raises: [],
    tags: [].}
xから進んでいったときに、初めてサイクルに入ったときの頂点を返す   Source   Edit