Pepe.Chess's blog

By Pepe.Chess, history, 9 years ago, In English

Hello

I noticed that Div1 contests problems' writers are trying to make div1A that kind that have an obstacle for the contestant.

555A - Case of Matryoshkas

you can notice that in yesterday's contest (for who participated)

the statement was very very cheesy so it was hard to realize what is the real target in the problem.

553B - Kyoya and Permutation

here we can notice that in div1B (but people said it was easier than A) but the statement was a problem too.

547A - Mike and Frog

here the task was very tricky and it was harder than div1A regular problems

536A - Tavas and Karafs

here it was really tricky too.

These are the last 4 div1 contests.

So what i wanna say is :

In the end it is a div2C problem ... so it isn't necessary to make it containing obstacles for div1.

Just make a div2C problem which isn't that hard to figure or solve.

It is just div2C i believe 80% of contestants in div1 must solve it.

I think all of you are thinking that if all contestants solved it easily then it is not proper for a div1 contest .

But i think if problems were sorted and clear and not "over-harded" it will be a more perfect contest.

Thanks.

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

»
9 years ago, # |
  Vote: I like it +8 Vote: I do not like it

considering the fact that authors used dynamic scoring for problems in the last two contests and in both of them the points for problem Div1 A was reduced to 250, I say they weren't hard at all :)

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

    I didn't say all of those were harder. Today's div1A task needs only 2-3 minutes of thinking if you get the statement right. 50% of contestants today wasted 1 or 2 submissions on it (plus the time of "saying why" and thinking) so the decrement for each contestant of these was about 100 points which is something really big for a 250 problem. But it wasn't harder than div2B problem. For the second problem I talked about it had the same problem. The third and fourth are prince of persia div1A problems (Which i believe you really know). And you can see that they aren't easy as regular div1A problems (just from the number of people who solved them in the contests)

»
9 years ago, # |
  Vote: I like it +21 Vote: I do not like it

div1 A problem for round 310 was very confusing even though the question itself was relatively simple.

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

    it isn't harder than div2B problem :) you can check the remaining problems (you will see them weird)

»
9 years ago, # |
  Vote: I like it +20 Vote: I do not like it

I agree. Div1-A 310 statement was not clear. I don't know these toys name even in my language. I assumed that he was talking about chains of numbers and got two WA. The problem was an easy implementation but I had to search about these toys. Even the announcement -for me- was not clear.
I think any problem must be clear not only Div1 A. These are competitive programming contests not English exams.

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

    I haven't got a point of problem A even though I'm russian — that's why I left this contest:)

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

    Also, the sample test cases gave almost no indications of how these toys work.
    I wrote 3 solutions based on different understandings of the problem before I decided to leave the contest. As it turns out, those 3 solutions were all incorrect.
    I thought this problem has something to do with k-way merge sort...

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

555A - Дело о матрешках I think that this was partially caused by cultural differences. It can be hard to estimate how much of explanation is needed for something that is common knowledge for you. Do you think that having a picture and Wikipedia link as seen in other contests would make the statement clearer?

On method that could be used for improving statements is trying to break the definitions. If statement contains a definition, ask someone to come up with something that matches the definition but is incorrect. Definitions should be as precise as possible within reasonable size, no one wants to read 3 pages of statement. Different approach is increasing the diversity of people making the contests, and that is up to Codeforces users to get involved.

555B - Дело о беглеце The same as before applies, but in this case required knowledge was math related. Compared to IOI Codeforces doesn't have a well defined syllabus, but i don't think it is required. Sometimes it seems that people are treating regular Codeforces rounds and rating too seriously. If problem involves something that you don't know treat it as opportunity to learn something new about algorithm, math topic or anything else.

From author perspective open online contests that don't involve any prizes or advancing to next rounds is the best place to put tasks that wouldn't fit in more serious competitions. Long running contests like Codechef monthly challenges, that have more time to do research, might be a slightly better place for such tasks. But if it isn't too unusual then Codeforces is fine as well. It wouldn't be a fun contest if all problems had an obvious solution using algorithms that are well known in programming contests and only difficulty would be in implementation.

Sorting > 3 tasks by difficulty before contest by 3-8 organizers might be much harder than when you look at the results of thousands of contestants. I remember organizing an onsite contest, it had 6 problems split into two days, no live feedback and task had no particular order or numbering or other factors beside the statements that might influence the perception of difficulty. As it turned out hardly anyone was solving task that organizers considered the easiest, most were trying to solve more difficult problems.

ICPC and other onsite contests can be "perfect" and "proper", but Codeforces should be fun and educational.

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

    You didnt understand the purpose of this blog ... besides i hadnt mentioned the second problem you did

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

      I mean't 553B about permutations not 555B. My point was that it doesn't seem like authors are trying to intentionally make the DIV1-A more difficult than it should.

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

        Difficulty might be the statement itself not the idea .

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

    I thought 555B required only knowledge of greedy algorithms.

    UPD: OK, I understand you mistyped.

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

    555A — Case of Matryoshkas I think that this was partially caused by cultural differences

    don't think so. I'm familiar with matryoshkas, but I realized what I supposed to calculate only after two tries.

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

Can't agree more!
I found that recent div1.A sometimes like a div2.B or sometimes harder than div1.B

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

Very interestingly, div2C/div1A was solved 1000+ during last contest. Highly unlikely.

To tell the truth, I also had problems understanding the actual requirement of the problem. It took me a while to notice that we need to make a sequence of consecutive numbers from 1 to n.

Mostly I guess translation is causing a problem.

»
9 years ago, # |
  Vote: I like it -6 Vote: I do not like it

If the tasks are tricky there is more to learn. So asking for easier problems is not beneficial. I personally did not feel much problem in understanding the above problems. Probably re-reading the problems and making sure you understand it completely before you start coding may help and I feel it must be a habit of every programmer.