A tight analysis of the greedy algorithm for set cover | Synapse