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

Автор AmShZ, 4 года назад, По-английски

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.

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

»
4 года назад, # |
Rev. 2   Проголосовать: нравится +28 Проголосовать: не нравится

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

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

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 года назад, # ^ |
      Проголосовать: нравится -62 Проголосовать: не нравится

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

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

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 года назад, # ^ |
      Проголосовать: нравится +27 Проголосовать: не нравится

    Algorithmic problems don't necessarily have long codes.

    • »
      »
      »
      4 года назад, # ^ |
        Проголосовать: нравится +28 Проголосовать: не нравится

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

      • »
        »
        »
        »
        4 года назад, # ^ |
          Проголосовать: нравится +28 Проголосовать: не нравится

        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 года назад, # |
  Проголосовать: нравится +132 Проголосовать: не нравится

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

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

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 года назад, # ^ |
      Проголосовать: нравится -34 Проголосовать: не нравится

    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 года назад, # |
  Проголосовать: нравится +106 Проголосовать: не нравится

How are theoretical tasks easier to come up with?

  • »
    »
    4 года назад, # ^ |
    Rev. 2   Проголосовать: нравится -117 Проголосовать: не нравится

    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 года назад, # ^ |
      Rev. 2   Проголосовать: нравится +174 Проголосовать: не нравится

      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 года назад, # ^ |
        Проголосовать: нравится +20 Проголосовать: не нравится

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

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

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 года назад, # ^ |
      Проголосовать: нравится -189 Проголосовать: не нравится

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

    • »
      »
      »
      4 года назад, # ^ |
        Проголосовать: нравится +62 Проголосовать: не нравится

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

      • »
        »
        »
        »
        4 года назад, # ^ |
          Проголосовать: нравится +70 Проголосовать: не нравится

        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 года назад, # ^ |
            Проголосовать: нравится +9 Проголосовать: не нравится

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

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

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

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

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 года назад, # ^ |
      Проголосовать: нравится -19 Проголосовать: не нравится

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

    • »
      »
      »
      4 года назад, # ^ |
      Rev. 4   Проголосовать: нравится +19 Проголосовать: не нравится

      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 года назад, # ^ |
        Проголосовать: нравится +2 Проголосовать: не нравится

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

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

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

  • »
    »
    4 года назад, # ^ |
      Проголосовать: нравится -38 Проголосовать: не нравится

    so try to solve harder problems!!!

  • »
    »
    4 года назад, # ^ |
      Проголосовать: нравится +51 Проголосовать: не нравится

    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 года назад, # ^ |
        Проголосовать: нравится +36 Проголосовать: не нравится

      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 года назад, # ^ |
      Проголосовать: нравится +59 Проголосовать: не нравится

    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 года назад, # ^ |
      Проголосовать: нравится -49 Проголосовать: не нравится

    It seems you hate Atcoder more than CF :D

»
4 года назад, # |
Rev. 2   Проголосовать: нравится +8 Проголосовать: не нравится

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 года назад, # |
  Проголосовать: нравится -10 Проголосовать: не нравится

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

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

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 года назад, # |
  Проголосовать: нравится -35 Проголосовать: не нравится

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 года назад, # ^ |
      Проголосовать: нравится +13 Проголосовать: не нравится

    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 года назад, # |
  Проголосовать: нравится -11 Проголосовать: не нравится

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 года назад, # ^ |
      Проголосовать: нравится +14 Проголосовать: не нравится

    "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 года назад, # |
  Проголосовать: нравится +24 Проголосовать: не нравится

"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?