Bellman Ford and One Olympiad Questions?
1 is incorrect. First of all, we always find shortest paths with k edges, if any. But also, if we happen to relax the arcs in the topological order of a shortest path tree, then we converge in one iteration, despite the fact that the shortest path tree may be arbitrarily deep.
s --> t --> u --> v
Relax s->t, t->u, u->v; shortest path from s->v is three hops,
but B--F has made two iterations.
2 is incorrect, because who knows what the weights are?
100
s --> t
Relax s->t; weight is 100, but B--F has made two iterations.
3 is correct, because by an averaging argument at least one arc of a negative cycle would be unrelaxed. Let v1, ..., vn
be a cycle. Since the arcs are relaxed, we have d(vi) + len(vi->vi+1) - d(vi+1) >= 0
. Sum the inequalities for all i
and telescope the d
terms to simplify to sum_i len(vi->vi+1) >= 0
, which says that the cycle is nonnegative.