> On a more general note, anytime a problem admits a dynamic programming solution, there almost always is a graph based approach.
Whoa, this is something new for me. For e.g. how would you transform calculating nth fibonacci number into a graph problem?