mcf_costscaling

このページは自動生成された下書きです。

公開 API と基本的な import パスを整理しています。詳細な説明、計算量、注意点、使用例は必要に応じて追記してください。

import

import atcoder/extra/graph/mcf_costscaling

公開 API

const ATCODER_MCF_COSTSCALING_HPP* = 1
proc initMCFCostScaling*[Cap, Cost; SCALING: static[int] = 1;
proc addEdge*[Cap, Cost; SCALING: static[int]; REFINEMENT_ITER: static[int]]( self: var MCFCostScaling[Cap, Cost, SCALING, REFINEMENT_ITER], src, dst: int, capVal: Cap, costVal: Cost ): int {.discardable.} =
let scaledCost = costVal * Cost(self.n + 1)
proc addSupply*[Cap, Cost; SCALING: static[int]; REFINEMENT_ITER: static[int]]( self: var MCFCostScaling[Cap, Cost, SCALING, REFINEMENT_ITER], v: int, supply: Cap ) =
proc addDemand*[Cap, Cost; SCALING: static[int]; REFINEMENT_ITER: static[int]]( self: var MCFCostScaling[Cap, Cost, SCALING, REFINEMENT_ITER], v: int, demand: Cap ) =
proc solveAs*[Cap, Cost, RetCost; SCALING: static[int]; REFINEMENT_ITER: static[int]]( self: var MCFCostScaling[Cap, Cost, SCALING, REFINEMENT_ITER], _: typedesc[RetCost] ): RetCost =
proc solve*[Cap, Cost; SCALING: static[int]; REFINEMENT_ITER: static[int]]( self: var MCFCostScaling[Cap, Cost, SCALING, REFINEMENT_ITER] ): Cost =
proc potential*[Cap, Cost; SCALING: static[int]; REFINEMENT_ITER: static[int]]( self: MCFCostScaling[Cap, Cost, SCALING, REFINEMENT_ITER] ): seq[Cost] =
proc getEdge*[Cap, Cost; SCALING: static[int]; REFINEMENT_ITER: static[int]]( self: MCFCostScaling[Cap, Cost, SCALING, REFINEMENT_ITER], e: int ): MCFEdge[Cap, Cost] =
proc edges*[Cap, Cost; SCALING: static[int]; REFINEMENT_ITER: static[int]]( self: MCFCostScaling[Cap, Cost, SCALING, REFINEMENT_ITER] ): seq[MCFEdge[Cap, Cost]] =

概要

TODO: このライブラリの用途と使いどころを記述してください。

使用例

TODO: 使用例を追加してください。

注意

TODO: 制約、前提条件、落とし穴を記述してください。