The Star Quest

Exactly one month ago I started a quest on taking down each and every starred problem of the Competitive Programming (CP) book selected from the UVa online judge website. My objective with this endeavor is straightforward: keep my algorithmic skills sharp. I set out by making myself solve at least one problem a day. This sort of approach does not usually work well with me, because at some point along the way I’ll forget to solve a problem, and then I’ll just never remember to get back to it; ever. In practice, however, though I may have been skipping a day or two from time to time, I often end up solving more than one problem. All in all I’d say, given my objectives and my constraints, things have been going pretty well.

The following graph will help illustrate and allow us to better visualize the progress of this little quest of mine. Before beginning this I had solved exactly 51 problems, which led me to world ranking 16k in UVa. We see that now, a month from starting the project, I’ve solved 102 problems, twice what I started from, bringing me to the 8.6k rank. That’s some 50 problems in some 30 days; pretty good to me.

Solved Problems vs Date

To put things in perspective, the following graph shows my entire history in UVa since I started back in 2011 when taking my first Algorithm Design class as a sophomore. That almost vertical line in the end of the graph corresponds to the past month.

Solved Problems vs Date

Now, the graphs above tell us something about the number of problems I have solved and my current world ranking, but where exactly am I with respect to the CP book starred problems?

Among other things, uHunt keeps a list of the CP book starred problems, allowing you to see in a glance the problems you solved any how many are left; they are even neatly separated in categories and by difficulty. It’s a sweet tool for those times you don’t know what problem to solve next. This is a screenshot of my burndown available at the uHunt website.

CP book starred problems burndown!

Right now I’m aiming for solving 15% of the problems of each chapter. Current target is chapter 5, on mathematics problems. Once I hit 15% solved problems in every chapter, I’ll up the milestone for 30%, and so on. A nice thing about uHunt is that it’s pretty open. You can see my statistics live through this link.