A scalable approach to computing representative lowest common ancestor in directed acyclic graphs
Introduction to Algorithms