errorgorn's blog

By errorgorn, 4 months ago, In English

Going to be 100% honest here, I sent problem H to goodbye. I feel really bad to authors of Goodbye 2023 for ruining their round, it seems the round would have been better by just removing H. As much as the community is out here roasting 74TrAkToR, I also had a part to play in this contest. I wish to be as transparent as I can here without saying any classified information (apologies to KAN and 74TrAkToR if anything here shouldn't be disclosed).

To give some context, here is what went down in goodbye round from my perspective:

  • 13 days before contest: KAN asks me if I can source a 1E for goodbye. I asked traktor to send me the testing gym so that I could gauge how hard the 1E should be. He told me he will send me after he translates the statements. (UPD: Note that the IMO 1986 problem was already removed before this stage which is why a new 1E was needed, I never saw this IMO problem)
  • 11 days before contest: traktor send it to me the testing gym after translating the statements to english
  • 10 days before contest: I look at the problems and tell traktor that old G already appeared before (UPD: in APIO 2021, which I participated, so I did not google it)
  • 9 days before contest: I confirmed with traktor that he still needed a problem to append to the contest as I thought old G was appended recently. I knew codeton 5 had 2 extra problems that were 1F difficulty so I asked if goodbye could take one of them. I assumed authors already ensured that problem was not googleable cause they only found the problem with $$$O(n^2)$$$ on some chinese OJ. I also implemented A-F and gave comments on them.
  • 7 days before contest: H prepared, traktor sent me a buffed version of old G that I couldn't solve
  • 6 days before contest: Endagorion tested and comments "H — from a theoretical point of view, this is a super standard exercise From a practical point of view, the only unclear place is what to do when p has a small order modulo 998" . In a discord group chat with Endagorion and authors of H, we resolved the p small order issue
  • 4 days before contest: I asked for clarification for buffed version of old G cause it actually seemed impossible, ghosted by traktor
  • 2 days before contest: Current G was added to the gym and traktor asked me to try and I misread the statement
  • 1 day before contest: I told traktor my current ideas for the misread version of G (I couldn't implement it cause I was overseas)
  • day of contest: I realized I misread G a few hours before contest so basically my feedback on G was kind of bullshit

Well, I'm sorry to break the illusion it turns up I was the bad coordinator here. But here are my thoughts on some things organisational wise that all coordinators should do to prevent such things from happening again.

Make a discord server for rounds

Simply, you are just removing the coordinator as the middle man of being the message forwarder. This creates many problems. A trivial one is that if I'm not awake (or just lazy) to forward messages, stuff will be delayed to be sent. But the more serious one is that you won't have transparency between authors and testers. And it may be just a personal feeling, but I feel more compelled as a tester to help out when there is an active server of people rather than just my dms to a coordinator (maybe Endagorion can give his opinion of testing pinely 3 vs testing goodbye).

However, some cons of this is that not all countries allow their citizens to use discord (such as China). If anyone has suggestions for an alternative social media platform, I would be happy to hear it so that I don't have to use wechat.

Spoiler

As an example:

This was my feedback for G, I somehow misread the problem wrongly in 2 places

  • I thought the weights are on vertices instead of on the edges
  • I thought we wanted to find the sum of values instead of the max value

I'm not sure how this wasn't caught by 74TrAkToR or the authors which I would assume he sent these messages too since defining the function $$$f$$$ is complete bullshit for getting max value. I suppose that if this discussion happened in a testing server with all testers, someone would quickly point out that I'm being stupid and I would actually think of solving the true problem. Funny story, only when I was talking with htetgm about the problems (which is technically breaking the testing rules XD) then I realized that I misread G XDDD.

Ensure that round is ready before even scheduling the contest

I think it becomes apparent that many of the issues of this round was made due to changing many problems in the span of a week before the contest is held. This can be easily negated by testing the round sufficiently early. Personally, I do not schedule contests until I am sure that I do not expect any more changes to the problem set, so in the time period between scheduling and the contest being held, the only thing that authors need to care about is making sure preparation is good, not making even more problems. As such, if you message me or authors about wanting to test the round after the announcement blog is posted, most likely you will be ignored as there is really no point in testing only a few days before the contest. Because realistically we can't make any changes based on your feedback.

As much as I would like to think that I'm a "good" coordinator, stuff like me putting problems that already exists in a contest happens more often than you think. The only reason you (almost) don't see them in contests I coordiante is cause of the testing phase where testers (mostly from China lol) tell me that the problem is already well-known. Of course, this problem being so easily googleable was still a massive oversight and I still take responsibility for this. Yes, I was aware of Endagorion finding H to be standard and I agree with him that it is standard (but I wasn't aware that it was googleable). Under normal circumstances where we had more time, I definitely would have changed it to another problem.

However, it seems that these days there are simply too little div 1 rounds to go around for the number of needed rounds (recently it is pinely 3, goodbye, hello and I predict that there might not be div 1 rounds for a while after these contests...). As such, I had to schedule pinely 3 before I was confident in the problem set and there we had many problem changes in the few weeks to the contest (https://codeforces.com/blog/entry/123449 did not help). But thankfully TheScrasse had a stock of already-prepared problems to switch around and is really efficient at preparing problems (orz).

WE NEED MORE COORDINATORS

The main issue here that there are simply there are too little div 1 coordinators. I would like to appeal to MikeMirzayanov to officially make the process for non-Russian speaking coordinators to be more open. To be completely transparent, I am only a coordinator now because I message MikeMirzayanov that I would like to be a coordinator (of course, I hope people don't start spamming mike now about wanting to be a coordinator). I recall that I had conviction to become a coordinator after testing that div 2 round with barely legible statements and I thought "damn bruh, I can probably do better". Well, for the people who cares about CP and wants to see more great rounds on codeforces, hopefully MikeMirzayanov will make this "application to become a coordinator" more official. Personally, I am not sure how long I am able to keep coordinating at this pace as I am kind of getting burnt up (sorry to all authors who I've ghosted 💀) and being in the military full-time doesn't really help. That being said, even if people are willing to coordinator, how many people have the luxury of having too much time to coordinate? I only have this luxury cause during my highschool days I pretty much didn't care about school and now in military most of my day is spent doing nothing.

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

»
4 months ago, # |
  Vote: I like it +17 Vote: I do not like it

dw we still love you

»
4 months ago, # |
Rev. 2   Vote: I like it -6 Vote: I do not like it

UPD: I have swallowed my own words.

»
4 months ago, # |
Rev. 5   Vote: I like it +52 Vote: I do not like it

Why did no one else question if H needs to be changed after Endagorian called it "super standard" "from a theoretical point of view"? To me it simply seems not enough eyes were seeing the problem before it's released. It is job of coordinator I would think to make sure each problem has had sufficient ppl tested it, so not specific fault of errorgorn or Endagorian (tho rlly u both not think to google? :thinking:).

Why is there not something like a tester satisfaction benchmark where problem satisfaction is scored and round is not approved until score is above some percentage? Does anyone (a statistically non-zero amt) actually think tasks like D are good, surely u knew it'd be a meme (and i would argue same for A/B/H).

Definitely needs to be more standards of transparency and a list of specific checks that at minimum should be cleared before a round is finalized (why is round date ever even announced before it is clear this will be done within a day?) (why do testers not have more standardized set of feedback/checks they should do?). And it is still the appointed coordinators job in my view that has responsibility these checks should be complete, and blame should be pinned on him when that is failed. Maybe you can cut traktor some slack as it is not his fault these things are not already in place (but why not?)

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

    Regarding transparency + specific checks, I wrote a detailed blog on this about a year ago here. I think the current coordinating/setting/testing process can be streamlined a lot if we systematically stick to a pipeline like that. The main issue with contest creation on CF is that most of the issues that end up in the final contest are hidden in plainsight and no one ends up discovering them, so we require a process that focuses on eliminating these blind spots as systematically and thoroughly as possible (a way of doing that, which worked remarkably well for me, is suggested in my blog).

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

    I liked task D. It needed brute forcing code to see pattern, and it was Chat GPT-able. I know. But I liked the question it was asking. I found it really interesting why perfect squares would form these patterns and equal multiset of digits.

    169, 196, 961 are all permutations of each other, and is this just a coincidence or what... I never thought about these questions before. Adding zeroes between the digits to form more perfect squares seemed so random and ridiculous to prove using math. This question made me think about these things and I have learned a lot from it.

    This is just my opinion, I know many people didn't like the question and I am not trying to say anything against them.

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

after this round now i know that coordinating a round takes lot of time and efforts....

thanks to the authors for coordinating such rounds ....

There is lot to learn from this blog for participants ,authors ,coordinators and testers

hope to see more contests in 2024 !

»
4 months ago, # |
  Vote: I like it +9 Vote: I do not like it

Can someone share resources for this H problem? I have been stuck on it for so long.. i cant understand the maths behind this.

  • »
    »
    4 months ago, # ^ |
      Vote: I like it +29 Vote: I do not like it
    • »
      »
      »
      4 months ago, # ^ |
        Vote: I like it +10 Vote: I do not like it

      I am your old subscriber bro. I have watched your yesterday's screencast so many times. Still, I can't understand what the "number of subspaces of dimensionality r" means. Is there a book where this is explained? if you can send me a blog or a book that will be helpful. I can't understand the complex notations.

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

        The concept of a "subspace" is something you will find in linear algebra. For a reference, you can refer to any linear algebra book (I recommend this book). You will very likely learn this in a standard university linear algebra course too.

        Roughly speaking, a vector space is basically a set with certain nice properties (related to some operations defined on elements of the sets, like addition/multiplication), and subspaces of a vector space are subsets of it which have the same nice properties (i.e., subsets of a vector space that are vector spaces themselves). Vector spaces have a number associated to them, called the dimensionality.

        Of course I can't explain linear algebra in a single comment, but to get an idea of what dimensionality roughly means, you can think of vectors in 2D. The $$$x$$$ and $$$y$$$ directions are "independent" (and so are any two directions that are not the same/opposite), so if unit vectors along them are $$$\hat{i}$$$ and $$$\hat{j}$$$, you can represent any vector in the 2D plane as linear combinations of $$$\hat{i}$$$ and $$$\hat{j}$$$, i.e., $$$\vec{v} = x \hat{i} + y \hat{j}$$$. And there is a unique such representation too. You can note that you can't do this with less than 2 directions in 2D. The smallest number of such vectors is called the dimensionality of the vector space $$$\mathbb{R}^2$$$ — the set of all vectors in 2D. The phrase "2 dimensional" signifies that the dimensionality of this vector space is $$$2$$$.

        Similarly, you can think of a subspace more easily if you go to 3 dimensions. You have three vectors there, and have $$$\vec{v} = x \hat{i} + y \hat{j} + z \hat{k}$$$. A subspace is a subset of it that is also a vector space. For example, the $$$xy$$$ plane is a vector space, and it is a subset (and hence a subspace) of the 3D space. It also has dimensionality two. Similarly, even the $$$x$$$ axis is a vector space, and is a subset (and hence a subspace) of the 3D space. In "vector space" terms, any plane/line/point through the origin is a subspace of $$$\mathbb{R}^3$$$.

        In the context of this problem (don't worry if you don't understand the following, you need a proper definition first), the rank of a matrix is the same as the dimensionality of a vector space "generated" by its column vectors, and it makes sense to think of it in this way because counting is often easier when you have discrete objects at hand.

»
4 months ago, # |
  Vote: I like it +42 Vote: I do not like it

Props for being transparent, but as asked by SuperJ6, the key question is why would a problem that's internally discussed as standard be scored at 4500pts? That's a mind-boggling amount given the other problems. Many of us have been part of problem setting teams and the communication and last-minute changes do not really shock me, but I have absolutely no clue how H was considered extremely difficult.

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

    My thoughts on H before sending to goodbye is written below here.

    I don't have the same level of familiarity as Endagorion has when dealing with such combinatorics problems. When I agree with him that it is standard, I am agreeing that to a person of sufficiently high skill, the solution of what to do is obvious to them. I did not immediately tell traktor to remove problem when Endagorion found this solution as the alternative was to remove this problem (which would make the problemset A-F only at that stage) and I believed that this "sufficiently high skill" was one that very few members of community would posses, and it was plausible that Endagorion was simply an outlier as I and the authors did indeed rabbitholed into a really complicated genfunc solution. So at that moment, it did not seem like the end of the world to leave H in

    In the same vein, I was actually worried about pinely last problem being too easy as well as I was able to solve it without any hints (after a few days) and the solution also seemed obvious to a person who had enough familiarity with such combinatorics problem, but it turned out to be insanely hard.

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

      If you're ever again in a similar unclear situation again, I suggest to talk more to the tester about their concerns. If asked to elaborate at that point, I would have answered that at least 10 people would get H within an hour. This is purely some advice and not criticism of inaction, you were not even the main coordinator of the round after all.

      Perhaps I should have worded my concerns more strongly. However, that was not the only major issue I highlighted in my feedback, and when no one got back to me or tackled the issues, I was like "welp, if THAT's not being fixed, I guess there are even worse things going on, I shouldn't get in the way".

»
4 months ago, # |
  Vote: I like it +75 Vote: I do not like it

Can someone swap the +750 upvotes on this post with -3600 downvotes in marzipan's announcement post?

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

    Why? There are multiple other mistakes in the problemset other than H. The only non flawed problem is C probably.

    A : no int vs long long tests???? Please dont rush preparation of any problem even A

    B : russian math contest

    D : chatgpt solved a 1700 + its a bad problem overall

    E : TL = 1s??

    F : googlable

    G: model wa

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

      No problemset is flawless, and H is certainly the biggest flaw in this contest. H is the reason (maybe only, depending on how you see G) why this round might be considered unrated. I don't like that the author is upvoted only in the basis of community preferences.

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

        Have you ever seen preparation mistakes on 7/8 problems before though? And F is about equally worse as H......(except that less people were able to take advanatage of it)

        There are maybe ~1000 people who care about H, its trally about the simpler problems

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

          F is not equally worse with H. You can not search sample into OEIS in order to solve F. This is also evident from the scoreboard.

          There are some rounds that I can find something to criticize for every problem. For example, majority of SRM rounds.

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

            okay H is worse, fine.

            I still dont agree that its errorgorn's fault. I dont see errorgorn as any different from any other problem setter, actually he is even better off in this situation because he was asked to propose a problem.

            Traktor was still the coordinator, it was his job to ensure everything is fine with the problem. Sure, Errorgorn should have also checked it, but at the end of the day, the main blame goes back to Traktor, because he is the coordinator, its his job (unless Errorgorn is receiving payment for coordinating the H, which i doubt very much)

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

              I would say its both parties fault — who is worser, I would say the coordinator, though. But it seems that the community have a pretty extreme view — problemsetter can throw any stuff and take absolute zero responsibility, which I think is not and should not be true.

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

                a problemsetter proposes problems, a coordinator approves or rejects them....that is literally the job of the coordinator.

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

                  That is an oversimplified view. A problemsetter should provide an argument for and against their problem in their best effort, so that the coordinator can judge more problems in a limited time and knowledge. Not OEIS-ing the output doesn't really sound like a best effort.

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

                  yes it is a oversimplistic view, but you agree the blame belongs mostly to the coordinator in sucb a situation? Errorgorn probably didnt even prepare it (there was another person mentioned in announcement, maybe he did?)

                  Bad non-interesting problems are usually attributed to authors (and less to coordinators) and problem preparation to coordinators, whats wrong about it?

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

                  I said that errorgorn deserves less than marzipan. As I mentioned here, I don't want to compute how many downvotes he deserves relatively to the coordinator. Bad non-interesting problems are usually attributed to authors — I mean it!

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

                  historially, we have always downvoted the round announcement regardless of whose fault it is. You are posting the round announcement blog, you take penalty for the mistakes.

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

                  But errorgorn took upvotes for mistakes, that's what I was saying. I'll be out btw

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

                  framing mistakes in a way acceptable to the community is a skill i suppose, i downvoted blog on first sight fyi

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

                  ikik

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  4 months ago, # ^ |
                  Rev. 2   Vote: I like it 0 Vote: I do not like it

                  Fun (or not fun for the blogposter) fact: The user with the 4-th lowest contribution...

                  Anadi, is the author of Round 880...

                  (click on the image for clarity)

                  The guy produced a lot of good rounds, including the most successful Good Bye—the Good Bye 2020, with +1604 upvotes (trust me, I did the math, no other Good Bye’s surpassed that).

                  And the impact of bad coordinators on him still persists.

                  Now guess which was the most unsuccessful Good Bye?

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

                In general I'd say it's not the problemsetter's responsibility to put a lot of effort into avoiding such a situation, this is just an extreme case where even minimum effort would show it's a known problem.

                Similarly, if I have a lot of ideas, I'd rather propose them on the basis of "I think it's not trash" rather than "I think it's a great problem", since the coordinator and testers can take over that part much better — one person spending 10 hours can have the same effect as 10 people spending 10 minutes each. There's plenty other things to do in life and in problem preparation.

                It's not absolute 0 responsibility, just relative 0 rather than 1. I agree with you just because this is such an extreme fail.

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  4 months ago, # ^ |
                  Rev. 2   Vote: I like it 0 Vote: I do not like it

                  I mean, if you think your problem is not great, then you should tell the coordinator why. The coordinator needs time to understand the problem-solution structure because they did not think about it.

                  But yeah, this is such an extreme fail and I don't think we need a deep discussion on where to put points in $$$0 < x < 1$$$.

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

                  I definitely don't agree with spamming the coordinator with excessive doubts! There's a very large margin between an ok problem and a great problem.

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

                  Nothing is good if its excessive

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

What were your original thoughts about H when you sent it? Did you see it as a sufficiently original problem? Did you only treat it as "I need to put together something even if it's not super high quality"?

UPD: Also did you originally intend it to be around "final problem" difficulty?

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

    Well, by itself it's a nice problem. If it weren't Googleable and well-known, it would be a nice problem. For example, when I encountered it, I didn't think of trying to Google or OEIS it, and I enjoyed solving it. It is only of poor quality if considered in the context of existing community and the ideas that are considered known within it.

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

      Yes, if the conditions that make it a bad problem weren't present, it'd be a good problem. That's logically obvious but also completely off-topic, I'm asking about this specific situation.

      • »
        »
        »
        »
        4 months ago, # ^ |
        Rev. 3   Vote: I like it +20 Vote: I do not like it

        No, not off-topic. What I meant was that the author of the problem might have been unaware of that conditions. Therefore, maybe he didn't even know that the problem is low quality in this specific situation. If he viewed it from his personal perspective, it might seem a nice problem, and only a pretty thorough investigation would have proved the opposite.

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

    When I received H, I instantly rabbitholed into the genfunc solution and therefore thought that it was a hard (but likely standard to elegia) problem in evaluating genfuncs. You can look at the editorial of how much we overcomplicated the solution. I can only blame my inexperience in such combinatorics problems.

    Quality wise, I see it same as other genfunc problems — it is hard but no one really finds them interesting. This is why I did not suggest it to be used in codeton 5, especially since they had another excellent 1F.

    However, as a last minute request to append a hard problem to a random contest, I found such problem to be an ok candidate (even more since it is so easy to prepare). Besides, it is hard to get authors to throw their A-tier problem into a problemset they have never seen before.

»
4 months ago, # |
  Vote: I like it +12 Vote: I do not like it

You are so cool for doing all of this hard work while also being in the military, huge respect to you