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

Автор sdyakonov, 3 недели назад, перевод, По-русски

Я хотел бы предложить авторам доказывать свои решения. Если вы написали следующее в своей редакционной статье, пожалуйста, приведите убедительные доказательства:

"Это всегда возможно" или "Мы можем показать"1965C - Складывание полоски

"Достаточность этого условия очевидна, а необходимость оставлена читателю в качестве упражнения"1954B - Сделай его некрасивым

"Оптимальной стратегией будет" — я не буду приводить пример, но это встречается без доказательств во многих задачах.

и многое другое...

Как мастер/призер всош по информатике, я тоже не могу понять простых вещей. Я также часто видел гроссмейстеров, которые не понимали и писали в комментариях, чтобы им объяснили. У меня есть друзья в реальной жизни, которые не решают codeforces по этой причине.

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

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

Please suggest other options when the authors did not want to prove solutions.

For me, the funniest thing was — "The sufficiency of this condition is obvious, and the necessity is left as an exercise to the reader" which I gave in the blog as a basic example

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

Yeah, it almost always happens that someone in the comments section explains it far better than the editorial writers. I often wonder why the editorial writers can't explain their solutions in such a way.

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

    I also did an unofficial contest as an author. link

    Proofs take big time, and other things such as developing tasks and communicating with the coordinator (my friends spent a year on the official round) take a huge amount of time. Because of this, I do not condemn the authors.

    This blog is like a recommendation because this problem is very common. I understand that most authors do not do the contest for money, but this problem of editorial articles can also be eliminated :)

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

or atleast there should be hints.

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

Honestly, I do really want to see the proof of the 1965C code, which was given as an example in the editorial, and I would really appreciate if someone could explain it more clearly, because the logic of the code is not obvious to me at all, even after taking into account the editorial to this problem (even more — the idea of the problem is absolutely clear and obvious to me, but not the realization given by the authors)

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

Another problem — unclear codes to the tasks. Besides the fact that solutions are without proofs, codes to the tasks are also bad. What's the problem to write clear, understandable code?

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

    I always understand Tourist's or Jiangly's codes better than the ones in editorial

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

    Yeah, authors need to stop using their templates in their code. I have to keep scrolling through their template to check what their variable means. Also, write meaningful variable names and add proper indentation to your code when you are writing a piece of code which will be read by thousands of people.Please follow basic software engineering principles.

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

Agreed. It will also be cool, if there is a discussion section per problem, where people can share their insights, observations, proofs or intuitions, just like Luogu.

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

100% agree

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

"Это всегда возможно" — 1965C — Складывание полоски

Если ты про разбор, там же буквально в следующем предложении написано почему...

А в условии я так и вовсе не нашёл такого, или похожего предложения

Eng:

"It is always possible — 1965C"

If you mean editorial, the very next sentence from it explains why... If you mean problem statement, I didn't even find such sentence there

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

    These examples were taken as the most common(I didn't want to offend these particular tasks and authors). Yes, it is explained there, but for me personally, when I read the full editorial, I thought that most of the statements are at the level of: "Trust me brother". And this problem has often occurred to me in the last nine months, when I solve more hard tasks.

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

I actually agree with you that 1965C is a bit unclear (around the optimality part), but you picked the worst part of the proof to criticize lol

picture

Just showing that the algorithm produces a valid string is explained very clearly.

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

proved by ac

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

Part of the issue is it's incredibly time-consuming and not very rewarding to write a very rigorous proof.

In my paper I used to have a one-page proof blowing up to five pages by filling in all the details rather than writing 'obviously' etc. In fact, I invite you to write out one of the proofs you think are insufficient in a rigorous manner and see how long and how much time it takes you.

But difficulty does not preclude good practice. Should the community devote more time to provide a clear editorial? Probably. The problem is always more like who should do the task?

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

    I don't believe in proofs very much, but I also believe that proofs of a lot of problems (especially greedy algorithms) are severely lacking right now. They're basically like, trust me bro. Actually, I've seen a pretty helpful website called CP Notes that allows users to write their own notes (editorial) for a problem in which they think the editorial is not possible to understand. As an example, take problem D of https://codeforces.com/blog/entry/90477, where the greedy algorithm is just stated as-is, and then see lior5654's very helpful blog at https://codeforces.com/blog/entry/90476 and https://cp-notes.com/notes/fivesixfivefour/CodeForces/1521/D, which has a full proof for the greedy they use. Ok well to be fair, some people proved it in the comments, and this is a 2500, so this proof probably should be doable if you're doing 2500s, but still like, you need to have a proof (even just a sketch) for your own sake because it's really easy to trick yourself into thinking "oh this greedy obviously works" when it really doesn't and then you get an NP hard problem at problem C cough cough

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

      I think as much I hate CodeChef, I gotta give it one thing: its editorials are really nice to read, because the author != editorialist, the editorialist is someone who specializes in writing editorials. Maybe the author doesn't have enough time, or doesn't know enough LaTeX to write a good editorial, or doesn't know English that well. That's no problem! Just hire/volunteer three or four editorialists who are reasonably experienced (maybe IM+?), and who know how to write a good editorial, know how to write LaTeX, know english, know how to write proofs that are not just "trust me bro". I'm pretty sure a lot of people would be willing to do this sort of thing, and it would really improve the quality of practice on CF.

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

      3 years later, someone found that blog useful. Thank you hashman!

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

    Personally, I have to know at least some intuition about how the authors came to this. But I don't like it at all when the authors just said a statement and continued the editorial.

    If the authors say a statement like on CodeTON 8 F, I understand that there is a lot of mathematics to prove it. But maybe then at least write that we checked it with stress testing? And even here they can point out intuitively that the root reduces the change quite quickly.

    But of course, it is necessary to prove greed, it is very important for the community so that people begin to understand how greed is built and how to use the "principle of the extreme", for example.

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

      Intuition is even less expressible than the proof.

      I can tell you that I looked at C for ten minutes and randomly guessed that the greedy works, but I am not sure that helps you -- I can only say something like I guessed the most convenient thing that, if true, helps me solve the problem, and it's not very different from trust me bro.

      If it's a proof I can at least try to be rigorous. I think useful intuition is extremely hard to express...

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

I see an example in CodeTON Round 8 F there were 2 facts (shown as key "observations"):

  • One can always add floors to the square root

  • The square root only propagates at most 6 steps

Those 2 facts were left completely unproven in the editorial. Also the editorial is hard to read, and I can't understand it clearly, but it is not as important as the 2 unproven facts.

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

Another reason why this issue should be given more consideration is Mental Health of lower-skill people. For some (most?) people, improving beyond your comfort zone is already very hard. There are people who wake up everyday and spend hours trying to solve a problem. If they fail to solve the problem themselves, what do they get back for their time ? A shitty editorial and nothing new learned.

If stuff is so "obvious" and "easy to see" why don't 90% people ever get out of gray ?

Imagine this situation repeating itself for even a week to someone. Wake up, try really hard, put in a lot of time, and learn nothing ? The natural thought that comes to mind then is, What am I even doing with my time (and life in general) ? Wasting it over obscure problems in a system where the IQ gods don't give a shit to explain solutions ? Should I not quit this CP thing completely ? Inferiority complex ? Self-doubt ?

Its weird how the editorials get worse and worse as the problems get harder and harder.

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

Absolutely agree! And also when newcomers see such lines, they get a feeling that it is not that important to prove their solutions, and it is ok to guess which doesn't lead them good places.

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

I think writers should get less money if the editorial is unreadable or without any proof.