On implementing 2D rectangular assignment algorithms
A data structure for dynamic trees