shakil_AUST's blog

By shakil_AUST, history, 7 years ago, In English

Hello Codeforces :)

Good Day everyone . Last week I was told to set few problems for my university's intra contest. I was thinking to set a unique idea problem that no one solved before . But what i observed that whenever i came up with an idea , it was something related with other task that i solved earlier . Problem setting is a creative task . It may not possible in a short time limit i know . Once I heard from one problem setter that it may take time of one month to set a genuine problem . I do have some experience to set problems for some online and onsite contest . But in every case i first came up with solution ( a well known pattern or common pattern ) then set story for that pattern problem . May be that is because i amn't very good problem setter and neither good problem solver :p . I think its not only mine but a lots of people question what is your motivation and thinking process behind the problem you set ? How to set unique problem that may not influenced by any other problem task available online ? Thank you all :)

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

7 years ago, # |
  Vote: I like it 0 Vote: I do not like it

As you said, problem-setting is an creative task, so, in my opinion, there is no regular thinking process behind it! It's just the idea comes to your mind, so you need to free your mind first. Another thing which was helpful for me, is searching problems in real life! They give you ideas about how to set problems!!

GL :))

7 years ago, # |
  Vote: I like it +4 Vote: I do not like it

Check out contest #472, it's a kind of problem setting tutorial. Each problem in it has a different source of inspiration, as you can see from their names and descriptions.

7 years ago, # |
  Vote: I like it +17 Vote: I do not like it

Starting with some solution is fine but you need to carefully invent a problem to that solution. To make it as original and cool as possible. I guess in this way you should spend more time on adjusting a problem. Note that a very simple statement and a not-new solution could mean that you don't have an original problem. You must twist it a bit. Maybe add some unusual constraint like "I can solve it for O(n2) for any graph but maybe I will say that degrees don't exceed 10. Or there are no even cycles. Then in linear time I can...".

It's hard to come up with something completely new but it's possible. The drawback is that you must solve it. It could take much time. When I invent hard problems it usually takes me hours to find a solution. It's reasonable because I want guys far better than me to solve it in e.g. half an hour. The better you are the faster you solve your new problem. Note that without the experience one can't say "ok, now I will invent a new hard problem" because here we start with some story, maybe with something from our life. I hung curtains on my window so maybe I can think about a problem involving curtains. Will it be hard? I will see. Of course you can also try with more artificial story/statement, like calculating something in a tree.

Or you can invent a new way of inventing problems. Let me describe a short story as an example. I wanted a problem involving a number 2015 (or 2016). I googled "property number 2015" and there was this website. I read all listed properties and I saw that the binary representation is interesting. You can see a result here — 611B - New Year and Old Property. I would call it an original method.