We consider problems on intervals which can be solved by dynamic programming. Specifically, we give an efficient implementation of dynamic programming on intervals. As an application, an optimal sequential partition of a graph G=(V, E) can be obtained in O(m log n) time, where n=|V| and m=|E|. We also present an O(n log n) time algorithm for finding a minimum weight dominating set of an interval graph G=(V, E), and an O(m log n) time algorithm for finding a maximum weight clique of a circular-arc graph G=(V, E), provided their intersection models of n intervals (arcs) are given.