Блог пользователя joshjms

Автор joshjms, история, 3 года назад, По-английски

Hi Codeforces!!!

So, solving neatly made problems in Codeforces made me want to do just that. In other words, I want to try problemsetting one day! I got some ideas but many questions as well.

  1. How do I begin? (ehe)

  2. How do you get good ideas for CP problems?

  3. How do I know if the idea is good or not?

  4. What practices do I need to become good at problemsetting?

If anyone has anything to say please do so UwU

Thanks in advance!

  • Проголосовать: нравится
  • +59
  • Проголосовать: не нравится

»
3 года назад, # |
  Проголосовать: нравится -37 Проголосовать: не нравится

ur blue.solve some binary search first before hosting a contest

»
3 года назад, # |
  Проголосовать: нравится +15 Проголосовать: не нравится

If you want to set a problem for Codeforces rounds, you can read this blog. Usually you have to be orange or above to set a round, so unless you know some setter who is orange or above, you may want to increase your rating and gain more contest experience first before moving on.

I am not a problemsetter on Codeforces (yet), but you can find problem ideas from many things, for example daily life and math problems. Solving old problems can also give you ideas for new problems, for example you can modify an old standard problem.

Perhaps experienced problemsetters can provide more useful help?

»
3 года назад, # |
  Проголосовать: нравится +52 Проголосовать: не нравится

You will find 10+ blogs just by searching "problemsetting codeforces" or similar. There is info about required rating, coming up with problems, using Polygon to prepare tests, and much more.

»
3 года назад, # |
  Проголосовать: нравится +57 Проголосовать: не нравится
  1. Meet the requirements to propose a contest. Generally, you should get >= 2100. Otherwise, you can make an unofficial codeforces round on gym with no requirements.

  2. I try to think of some interesting setting, definition which could be inspired by things in real life or other problems I've seen. Once I have some interesting idea, I try to think what questions about it I might want to know the answer to, what can be computed about it. Usually the question is too trivial or too hard. I try to change the problem by adding constraints or generalizing to find the most interesting version of it. Sometimes this gives you a great problem and sometimes you need to start from scratch again. Many people also try to start with a technique or solution idea and make a problem out of it. In my experience, it is easier to make problems this way but they tend to be more artificial and I don't like them as much.

  3. It should be a question that the contestant wants to know the answer to because it's so natural/simple. Something where you are motivated to try really hard and dying to know the solution. A solution is good if there's one or more satisfying "Ah ha!" moments the contestant must go through. If it quickly reduces to something standard or forces the contestant to struggle mostly on uninteresting steps, I consider it a bad problem.

  4. You should try to live up to contestant's expectations as much as possible. This means making your statement very easy to understand, carefully designing good test cases, making the constraints/TL reasonable and forgiving of constants, and being open minded to tester/coordinator feedback. My biggest advice is to be humble, and willing to admit when your idea sucks or when you make a mistake in preparation.