Punch 2000 holes in 2000 polygons with 1000 needles

The clever theorem that can be applied to questions like this one is Hall's theorem.

Construct a bipartite graph, with the vertices on one side being the polygons on the first sheet of paper, and the vertices on the other side being the polygons on the second sheet of paper. Draw an edge between two polygons whenever they overlap.

A perfect matching in this graph is a one-to-one pairing of the polygons on the two sheets such that any two polygons that are paired overlap somewhere. If we find a perfect matching, we can punch the holes: for every pair of polygons in the perfect matching, poke a needle through some part of their overlapping region.

Hall's theorem says that a perfect matching is guaranteed to exist if, for every set $S$ of vertices on one side, the set $N(S)$ of vertices adjacent to some vertex in $S$ satisfies $|N(S)| \ge |S|$. In other words, if you pick any $k$ polygons on one sheet of paper, there will be at least $k$ polygons on the other sheet of paper adjcent to at least one of the ones you picked.

This follows from looking at the areas. An individual polygon has area $1$. So the $k$ polygons you chose on one sheet have total area $k$. On the other sheet, that same region needs at least $k$ polygons to cover.

Tags:

Functions