Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.
Given n intervals on a line ℓ, we consider the problem of moving these intervals on ℓ such that no two intervals overlap and the maximum moving distance of the intervals is minimized. The difficulty for solving the problem lies in determining the order of the intervals in an optimal solution. By interesting observations, we show that it is sufficient to consider at most n "candidate" lists of ordered intervals. Further, although explicitly maintaining these lists takes Ω(n2) time and space, by more observations and a pruning technique, we present an algorithm that can compute an optimal solution in O(n log n) time and O(n) space. We also prove an Ω(n log n) time lower bound for solving the problem, which implies the optimality of our algorithm.
Li, Shimin, and Haitao Wang. "Separating Overlapped Intervals on a Line." arXiv preprint arXiv:1609.07766 (2016).