Trait dijkstra::Edge

source ·
pub trait Edge<T> {
    // Required methods
    fn from(&self) -> usize;
    fn to(&self) -> usize;
    fn dist(&self, d: T) -> T;
}
Expand description

グラフの辺を表すトレイトです。

Required Methods§

source

fn from(&self) -> usize

source

fn to(&self) -> usize

source

fn dist(&self, d: T) -> T

始点から from までの距離 d を受け取り、この辺を辿って to へ行く最短距離を求めます。dijkstra が正しく動くように、この関数は次の条件を満たように実装してください。参考情報

  • dist(d)d 以上である
  • dist(d)d について (広義) 単調増加である

使用例は ABC192E をどうぞ。

Implementors§

source§

impl<T> Edge<T> for ConstEdge<T>where T: Copy + Add<Output = T>,