Thursday, April 9, 2009

Prepping for World Finals vs. Purdue

The last two Mondays the world finals team scrimmaged against Purdue (who just barely qualified for world finals with a correct submission at the 300 minute mark). The first week was a synthetic set made up of 7 IOI finals problems. The problem set was incredibly hard. Normally when I start a hard problem set there are a few problems where I have some ideas of where to start working, on this set I had nothing. I think the key was getting people assigned to the right problems. Alan gave me a fun DP problem, and I gave him a DP problem on trees (just like an assignment he had just a few days before). That helped us break open the problem set a bit.

We managed to get four problems in five hours, which seems like a decent accomplishment. Purdue got 2 in 5 hours, and a third in the thirty minutes after the contest. I think we should have gotten a fifth, but I'm not complaining about four. I think partially IOI is a different type of set (the bounds are a lot larger on most problems), and partially it is simply a very hard set. I am clueless how some high schoolers knock down three of these problems in five hours.

We practiced by ourselves the next friday on another IOI set. Again getting four problems, but this time out of only four on the problem set.

This Monday it was back to practicing with Purdue, this time on a problem set with 11 problems from various European regionals. All of the problems were the hardest 2 or 3 from their regional. I had about the worst contest I have ever had. I had 5 submissions on problem J. The first was a simple swapping i/j which caused a runtime error, second was a few more implementation bugs, third was a bad assumption about the problem, the fourth was a worse assumption, and the fifth was correct. The other problem I got was a simple max flow, which I managed to mess up once.

Overall we got 6 of 11, as did Purdue, but we did so with a better time penalty. I think on a better day we really should be solving 8 problems on that set. We had a problem done with 10 minutes left that just had a stupid implementation bug in Dijkstra, and a bruteforceable problem we never got to.

These types of days scare me, because one bad day at world finals throws out all the practice you did. Just like running (my other big sport) being in the right mindset seems to be key to this. I think today I was too focused on speed and not enough on correctness, especially on my max flow submission. I have a shot at redemption next Monday when we add Duke into the practice. Individually I think we are a little better than Purdue, as a team I think we are a good bit ahead. I have no clue how good Duke is, but regional results and their lack of a larger number of high ranking TopCoder members suggests they aren't that good.

No comments: