Part 1 was pretty straightforward.
After several hours of looking at Part 2, it looks as if I had two really good ideas, but gave up on them too early. (Short on time lately.)
My favorite idea was to (identify an end rectangle, remove it, then identify another one, then remove it, etc.). But when I applied it to the example, I realized, to my horror, that it depended on an unspoken assumption: just because two vertices share a row or column coordinate, that does not mean they are “end” rectangles; they might be “cut-ins”.. After starting at it a while and watching an hour or so go by, I despaired and gave up. I still like the idea (and apparently someone else did do it this way!), so I hope to return to it eventually.
Then I thought about trying a scanline approach: order the vertices in a certain way that would allow me to, say, scan up from minimum row value to maximum row value, counting the number of points along the way. I still like that idea, but just as I was on the verge of implementing it I got cold feet. (From what I read, at least one person did something to this effect, too.)
As the hour drew very, very late, I visited the Reddit page and learned that most people seem to be solving it using Pick’s Theorem and the Shoelace Formula… neither of which I’ve ever heard of. (I’d be embarrassed, since I have a PhD in mathematics, but someone else commented that he has a PhD in computational geometry, and he hadn’t heard of it either, so there.) But even that isn’t trivial; you can’t just copy & paste the formulas from Wikipedia. And since the same approach was useful on Day 10, these formulas may prove useful a third time.
I don’t suppose he’ll ever supply a puzzle that relies on my old research topics…
LOL, one person on the Reddit page says, “Finally, a relaxing day again…” That’s what I thought of the entire previous week between days 10 and 17…