AmShZ's blog

By AmShZ, 4 years ago, In English

Hi everyone!

I'm writing this blog to give some "constructive" feedback on the current state of the tasks in the recent CF rounds. Personally speaking, I believe that tasks are becoming more and more theoretical contest after contest (by theoretical I mean tasks that are not challenging to code).

Nowadays we rarely see tasks that require algorithmic thinking or coding skills.

I personally blame this on the procedure of proposing contests, it's natural for setters to start with proposing tasks that require some coding and later on replace them with theoretical tasks (which are easier to come up with) after their first set of tasks gets rejected by the coordinators.

In fact, some setters might presume that the vast number of theoretical tasks means that they are more probable to get accepted by the coordinators.

The point I'm trying to make is that WE are the ones who are creating these tasks, therefore WE are responsible for creating this mess. Hence, I humbly request the setters to try and come up with tasks that have a rather challenging code.

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

| Write comment?
»
4 years ago, # |
Rev. 2   Vote: I like it +28 Vote: I do not like it

I totally agree with you.
on the other hand, setters shouldn't take it too far by creating a disaster like this.

»
4 years ago, # |
  Vote: I like it -208 Vote: I do not like it

I also agree with you here. Codechef is having amazing contests these days. Good knowledge of both algorithms and data structures are required. Rather, CF problems are more of ad-hoc & constructive. Big time improvement required in problem quality of CF !!

  • »
    »
    4 years ago, # ^ |
      Vote: I like it -62 Vote: I do not like it

    All the dumb people here, stop downvoting just because i'm a newbie. I know even this will get downvotes :>

    • »
      »
      »
      4 years ago, # ^ |
        Vote: I like it +65 Vote: I do not like it

      You crossed all limits of dumbness when you said codechef is having amazing contests

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

The format of codeforces rounds make this almost impossible. Let's look at division 1 for now. We have people ranging from 1900 — ~3500. Now anyone over 2600, needs to solve the 4th question to be able to maintain their rating. Now if we made B and C heavy on implementation, it would be almost impossible to access the last problems of the problemset, and solve them within the time limit. That would make the entirety of 2400 — 3000 a typing race, because you would need to code B and C really fast to be able to solve the later problems. Now we have upto 6 problems in division 1.

I don't think it's possible to increase the amount of code for the first few problems. The only problems that can be implementation heavy are the last 2 problems of the set for the contest to be balanced.

  • »
    »
    4 years ago, # ^ |
      Vote: I like it +27 Vote: I do not like it

    Algorithmic problems don't necessarily have long codes.

    • »
      »
      »
      4 years ago, # ^ |
        Vote: I like it +28 Vote: I do not like it

      ...but this blog specifically asks for problems that are challenging to code?

      • »
        »
        »
        »
        4 years ago, # ^ |
          Vote: I like it +28 Vote: I do not like it

        I don't get it too. but I think they want codes that you have to think how to code than codes that are long.

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

I think the contests are getting really better. The last div1 round was intresting

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

Let me quote Radewoosh: there's another platform for such contests.

Jokes aside, I disagree with you and I'm delighted with recent changes, let me explain why. Everyone wants the tasks to be good/interesting, but the perception of interesting changes with experience. If someone has already solved a segment-tree problem $$$100$$$ times in their life, they are not going to be happy with a yet-another-segment-tree problem. If they've done it $$$2$$$ times, sure, a new segment tree problem might be interesting to them. Problems which you know how to solve in seconds and then code for an hour during a $$$1$$$-hour contest are super irritating.

Also, don't forget that higher-rated participants have templates for more complicated stuff. So, if you have a problem in which you mix a few of these, it's not a problem. So there must be interesting ideas in problems.

Aside, have you ever been a problemsetter? Inventing interesting non-adhoc easy problems is actually really hard, f.ex. data structures + ideas already gives something around Div1C.

Btw, you may want to read/join the discussions about problemsetting under antontrygubO_o's blogs, for example this one: link

  • »
    »
    4 years ago, # ^ |
      Vote: I like it -34 Vote: I do not like it

    well yeah you are right, but for low tier div1 coders reaching Div1D is almost impossible. maybe having a Div1 B with the given conditions would suffice.

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

How are theoretical tasks easier to come up with?

  • »
    »
    4 years ago, # ^ |
    Rev. 2   Vote: I like it -117 Vote: I do not like it

    sometimes they are already proposed somewhere remote (like in mathematical contests such as HMMT) , all setters have to do is to slightly modify them.

    • »
      »
      »
      4 years ago, # ^ |
      Rev. 2   Vote: I like it +174 Vote: I do not like it

      That's not how most problems are invented. It is harder to come up with theoretical problems. You just claim that it's easier to find a theoretical problem and adjust it to a programming competition.

    • »
      »
      »
      4 years ago, # ^ |
        Vote: I like it +20 Vote: I do not like it

      Can you point to real examples of this being done? (Systematically, not just a few problems that are probably a coincidence).

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

Hi, could you give some examples of what you mean by "tasks that have a rather challenging code"? I think it is not clear on what kind of challenges you are looking for.

  • »
    »
    4 years ago, # ^ |
      Vote: I like it -189 Vote: I do not like it

    Problem C in the recent Facebook Hacker Cup round is probably a good example I would guess.

    • »
      »
      »
      4 years ago, # ^ |
        Vote: I like it +62 Vote: I do not like it

      You literally picked the most annoying problem I've seen the whole year.

      • »
        »
        »
        »
        4 years ago, # ^ |
          Vote: I like it +70 Vote: I do not like it

        I’m surprised about all the downvotes. I didn’t say it was a good problem and I also hated the problem. It was just an example of like nontrivial implementation which I thought was being asked for.

        • »
          »
          »
          »
          »
          4 years ago, # ^ |
            Vote: I like it +9 Vote: I do not like it

          I guess people thought you are advocating for that type of problem when you were just giving an example.

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

I think there is some misunderstanding between Implementation-heavy problems and algorithmic ideas. It needs more clarification about this.

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

No offense but looking at your profile, you solve like 0,1,2 problems from div1. Don't you think calling contests "mess" or "require no algorithmic thinking" after reading 2 easiest problems sounds kinda stupid?

  • »
    »
    4 years ago, # ^ |
      Vote: I like it -19 Vote: I do not like it

    Umm No offense but you dont have to accept the problem in the contest to say your opinion about the problems

    • »
      »
      »
      4 years ago, # ^ |
      Rev. 4   Vote: I like it +19 Vote: I do not like it

      but this guy is talking about problems that are easy to come up with theoretical so I think he should have accepted them in contest.

      • »
        »
        »
        »
        4 years ago, # ^ |
          Vote: I like it +2 Vote: I do not like it

        I think he said "easy to come up with" theoretical tasks, not "easy to solve".

        • »
          »
          »
          »
          »
          4 years ago, # ^ |
            Vote: I like it 0 Vote: I do not like it

          I'm sorry for the mistake. my bad!

    • »
      »
      »
      4 years ago, # ^ |
        Vote: I like it +2 Vote: I do not like it

      That is true. And I don't think someone who has been upsolving later problems recently would write a blog like this.

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

i didn't mean for harder codes. i just didn't like a problem which is a single line of coding :((

  • »
    »
    4 years ago, # ^ |
      Vote: I like it -38 Vote: I do not like it

    so try to solve harder problems!!!

  • »
    »
    4 years ago, # ^ |
      Vote: I like it +51 Vote: I do not like it

    Hello sir, please teach your logic to solve my doubts.

    Nowadays we rarely see tasks that require algorithmic thinking or coding skills.

    Theoretical tasks means that they are more probable to get accepted by the coordinators.

    So am I wrong that "algorithmic thinking" is just you trying to confuse us?

    • »
      »
      »
      4 years ago, # ^ |
        Vote: I like it +36 Vote: I do not like it

      I don't want to confuse you or take sides. I just commented on problems that have little code. Now I realize that I was wrong and I just don't like these problems.

  • »
    »
    4 years ago, # ^ |
      Vote: I like it +59 Vote: I do not like it

    Hence, I humbly request the setters to try and come up with tasks that have a rather challenging code.

    i didn't mean for harder codes

    ???

  • »
    »
    4 years ago, # ^ |
      Vote: I like it -49 Vote: I do not like it

    It seems you hate Atcoder more than CF :D

»
4 years ago, # |
Rev. 2   Vote: I like it +8 Vote: I do not like it

I think tasks with harder code are more interesting as long as they have good idea as well, since I enjoy trying to write short and concise code for a problem, but there's no challenge in the coding aspect if it only requires a few lines.

However, hasn't this already been brought up a ton of times recently, and this post brings no new insight...

»
4 years ago, # |
  Vote: I like it -10 Vote: I do not like it

the plateform is became harder now. you have to be stronger after every contest.

  • »
    »
    4 years ago, # ^ |
      Vote: I like it +13 Vote: I do not like it

    What did you expect? Ofc it will be harder everyday.

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

Lol, do you really think that tasks that do not require heavy coding are easier to come up with? It's exactly the opposite. I would say it is pretty easy to come up with problem that requires many data structures but is conceptually pretty simple. If you require more thinking from contestants it means you need to do that thinking as well :p

»
4 years ago, # |
  Vote: I like it -35 Vote: I do not like it

Maybe it is also because of too frequent rounds on codeforces nowadays. Before COVID, there used to be less contents hence, setters got much for time for creating a task, but now every 3rd day is a contest. This might be one of the reason, though I am not sure.

  • »
    »
    4 years ago, # ^ |
      Vote: I like it +13 Vote: I do not like it

    I don't think the frequency of contests has changed too much, except for more Div3 rounds, which have a lot of focus on implementation anyway.

»
4 years ago, # |
  Vote: I like it -11 Vote: I do not like it

Did you mean to say something like, "I would like algorthmic problems better than maths problem", i feel more or less it's all maths.

  • »
    »
    4 years ago, # ^ |
      Vote: I like it +14 Vote: I do not like it

    "Algorithm" is literally a concept in mathematics btw. So you're correct about every single problem being math. We aren't supposed to have a problem which cannot be formally stated mathematically.

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

"Theoretical" tasks are not bad if you put them in the right balance. For Round #666 I wonder what was author thought process to be honest. Did they really think D and E are gonna be easier? I wonder how many people stopped after 3, like just did not code. In addition to that pretests are strong and most likely it is just waste of time to hunt for hacking.

Unfortunately there are not many div 1 contests and for some reason authors and coordinators think they need have some unreally cool, fresh, very interesting and challenging problems to make div 1 fun. But for recent months I've seen several topics like that, which apparently show that that's not fun. But open div 2 contest, or Educational round, seems even with not that interesting or well known problems there are at least 300-400 unofficial participants and not all of them solve all problems. Maybe then relax div 1 ideas a little, so there could be more div 1 rounds? And ok, some of them are going to be too easy for top 10, but some could be like 666. But at least you have some different monitor pattern, rather than always lonely empty columns of D and E?