eidan's blog

By eidan, history, 5 years ago, In English

I've been digging into sports programming for about two years now, and recently I have been thinking about dedicating time to contribute to the competitive community in my university (and maybe in CF as well!) by creating and organizing contests. However, I also want to keep on improving my skills and performance on competitions. I am somewhat worried that problem setting and testing will consume too much of my time and not let me grow personally. Or maybe I'm wrong and organizing contests can actually help a coordinator stay sharp in his/her skills? I just wanted to ask problem setters, testers, and users who have been involved in contest coordination in general, about your personal experience and opinion. Do you merely wish to give back to the competitive community? Or do you think it actually helps you improve personally? Or is contest setting and participating simply independent? Any advice you want to share is appreciated!

  • Vote: I like it
  • +21
  • Vote: I do not like it

»
5 years ago, # |
  Vote: I like it +40 Vote: I do not like it

Lewin has a great story about the problem setting here: https://www.topcoder.com/blog/a-problem-writing-journey/

»
5 years ago, # |
  Vote: I like it +22 Vote: I do not like it

I have been a problemsetter for some local contests, although I'm not sure I really qualify to answer this.

Problemsetting does give you some insight you might not have had before. For example, 896C - Willem, Chtholly and Seniorious definitely seems like an inside thing for problemsetters (that is, why you can't rely on only random tests for range set queries). I wouldn't be surprised if it really was based on someone's bad experience. Also, it makes you think about things you do not think about as a contestant — designing test cases is not trivial, also sometimes you need to play with the bounds to make sure only "good enough" algorithms pass etc. It makes you think about things you've not thought about before and that can only be a good thing.

Your question seems a bit weird though. Don't worry about problemsetting consuming too much time. After all it's not a full-time job for most people. I view it as a hobby/freelance thing. You do not need to devote a lot of time all of a sudden, you can start small.

Do you merely wish to give back to the competitive community? Or do you think it actually helps you improve personally?

I think for me, the main reason to problemset is just wanting to share cool ideas I have. Several times I have written a problem because I thought of a cool trick and wanted to put it into a problem.

  • »
    »
    5 years ago, # ^ |
    Rev. 3   Vote: I like it +31 Vote: I do not like it

    Haha, that thing with the diffuculty of preparing strong tests actually taught me to stop trusting the setters. Like my team and I were recently solving some quite old quarterfinal contest and there was the task with some complicated dp optimization (task H) which we had came up with but still had no idea about how to code. However, after some discussion we agreed on a fact that we also can't really learn to generate testcases to break the solution with some O(n·MAGIC) dp and had that accepted 5 minutes later.