Solution

ID: past-exam-of-the-computer-science-course-of-the-university-of-oxford/2019/algorithms/3/d/i/solution

Assume the standard nonempty instance convention , and set . Start with no centers. Pick any city still farther than from every selected center, add it as a center, and mark every city within distance of it as covered. Stop when all cities are covered.
Distinct chosen centers have pairwise distance greater than . Fix an optimal set of centers and assign each city to one optimal center within distance . Two cities assigned to the same center have distance at most by the triangle inequality. Thus no two chosen centers can be assigned to that same optimal center. The pigeonhole principle shows that the greedy procedure selects at most centers and has radius at most . If fewer than are selected, add arbitrary distinct cities; this cannot worsen the radius.
With the supplied radius, a straightforward implementation updates coverage in time per selected center, hence takes distance tests. The argument also handles . It is the packing bound underlying the metric k-center problem.

New to topics? Read the docs here!