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

Автор SanguineChameleon, 17 месяцев назад, По-английски

1 minute before contest starts

Alright, this is it. The round is starting soon. I hope everything goes well!

9 minutes after contest starts

...What? Someone solved H already? Uh oh.

Okay, maybe they are just really good at XOR problems.

40 minutes after contest starts

Oh! An LGM solved it. Let's look at their submission...

// https://yukicoder.me/problems/no/2990

Oh. Oh no. Oh no no no no no.


Hi, so to me seems like a notorious coincidence.

I was the author of problem H, and unfortunately, it exactly coincides with No.2990 Interval XOR on yukicoder.

Just to be absolutely clear, I had the idea for H long before that:

  • I thought of problem H in January 2024.
  • The problem was proposed in February 2024.
  • The problem was approved in October 2024.
  • The problem on yukicoder was released in December 2024.

Here are some obligatory evidence screenshots:

Screenshot 1
Screenshot 2
Screenshot 3

That's why you see a lot of Japanese coders on the front page of the standings.

The standings of a rated contest. With prizes.


So yeah, it sucks that this happened. But to be honest, there's realistically nothing we could've done:

  • I had checked multiple times over the past few months to see if it had already appeared, since I was getting concerned that it might've already been posted somewhere. But I didn't find anything, and the Semantic Search hadn't logged the problem as of the time of writing this.

  • The statement is in Japanese, and it's practically impossible to find the problem if you don't search in Japanese or live in Japan. Now, you might say that we should've Googled in Japanese before the contest. But what if it wasn't a Japanese problem? What if it was a Polish problem? A Romanian problem? It's not feasible to try every language.

  • It took a whole year to get this round running. So much can change in a year. I was in high school when we proposed the contest, and now I'm in college! The fact someone else came up with a similar idea is just really unfortunate.


So what can we do now?

Make the round unrated? It seems like a reasonable option, but the fact that it isn't trivial to find suggests otherwise. And a very small percentage of people solved it anyway. Also, it's harder to determine who solved it legitimately than you might think.

Either way, sorry that this happened. I remember when I spent like 5 hours staying up all night trying to solve H, and I was very happy when I finally did. That's what I want everyone to experience on Codeforces: the joy of solving problems.

So I hope you enjoyed the rest of the problems. And if not, then sorry for that as well.

Good night, Codeforces!

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

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится -60 Проголосовать: не нравится

I didn't enjoy the rest of the problems. :(

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +33 Проголосовать: не нравится

Determining whether the contest should become unrated, based on the effort of the proposing team, is just flawed (and I'm sorry that it is unfair to you). This is like saying "all the authors had a wrong solution to problem X. It's fine though because we were certain that it was correct, so sorry if you attempted it at all".

It should be determined based on the final outcome, which is — some non-neglibile subset of people had knowledge of this precise problem (and not only that, but access to a working solution).

I say non-negligible because it affected not only many (if not all) of problem H's solvers, but also anybody who glanced at the dashboard during the last hour and wrongly affected their strategy.

  • »
    »
    17 месяцев назад, скрыть # ^ |
     
    Проголосовать: нравится +120 Проголосовать: не нравится

    The precedent in such cases is clearly set (see https://codeforces.me/blog/entry/112709)

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

      Let's go I might become expert today then love you <3. Also loved the problems c and d especially

    • »
      »
      »
      17 месяцев назад, скрыть # ^ |
       
      Проголосовать: нравится -14 Проголосовать: не нравится

      The difference is that in this case the problem was available on codeforces, so everybody on codeforces had an equal chance of solving it. Not only today's problem H exists on another online judge (giving an unfair advantage to people who also know and use this judge), but also the other judge is in Japanese, imposing a huge language barrier for the average codeforces user who does not speak Japanese (the average codeforces user speaks English or Russian, which are the the default language of the website). Even if I knew this problem existed in the Japanese online judge, I wouldn't be able to find it because of the language barrier).

    • »
      »
      »
      17 месяцев назад, скрыть # ^ |
       
      Проголосовать: нравится +13 Проголосовать: не нравится

      Very sad that I have to disagree with Mike. Just a set of dramatic words that seem to explain Mike's point of view, in a way as if whoever disagrees with him is not just in the wrong, but also rude and out of their mind.

      At least some comments there disagree with it as well.

      Whatever the precedent is, reading that post changes nothing about my point of view, the claims there are not convincing because we disagree on a basic notion — a round can be unrated even when everybody did their job well. The authors still get credit for problems in the archive, still get their money and their recognition. We only need to mitigate (or, ignore) anybody that channels this to insults and such that the authors do not deserve.

      By the way I couldn't tell what's your opinion on this based on your comment alone.

  • »
    »
    17 месяцев назад, скрыть # ^ |
     
    Проголосовать: нравится +54 Проголосовать: не нравится

    Not sure why this comment is being downvoted. I think it is totally correct that whether a round is unrated should not be related to the efforts of the authors. Of course, in this case the round should be rated because that is the precedent that has been established, but that is still unrelated to the efforts of the authors.

    Unrelatedly, I remember that in some rounds there was an option for people whose rank was affected to have an option to remove themselves from rating changes. I wonder if such an option will be available today, or if the precedent also means that this will not be available in cases like this. (Not that I want to do that, since I will gain rating lol)

    • »
      »
      »
      17 месяцев назад, скрыть # ^ |
       
      Проголосовать: нравится +15 Проголосовать: не нравится

      At no point did the authors bring up their effort as a possible justification for whether to unrate the contest, so him making that point like some kind of gotcha just feels weird and unnecessary to me.

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

        The blog writer is literally the author of problem H, and most of the text in the post justifies keeping the contest rated because they were not able to find the problem despite their efforts.

        Read the paragraph starting with "So yeah, it sucks that this happened", which brings up the effort of the authors in a post that claims the contest should be rated.

        You also have this quote "Make the round unrated? It seems like a reasonable option, but the fact that it isn't trivial to find suggests otherwise", which I would like to know what stands behind this sentence (in your opinion), if not a statement claiming it should be rated because it was hard to find despite their efforts.


        I have no intention to attack the authors of the round. However, it is not an axiom that if everybody did their job well, then the round should be rated.

        And the precedent brought up by conqueror_of_tourist was saddening to see, because I disagree with it even though the great Mike wrote it. But I was happy to see highly upvoted disagreement in response to Mike.

        • »
          »
          »
          »
          »
          17 месяцев назад, скрыть # ^ |
           
          Проголосовать: нравится +8 Проголосовать: не нравится

          You are reading too much into it. That, or I am reading not enough into it ¯\_(ツ)_/¯

          The authors provided context and how they felt there was nothing they could have done to prevent the unfortunate coincidence. Then, they made their opinion about how unrating the contest might be an overreaction. So they mentioned fact A, then gave their opinion about situation B, doesn’t mean they were using fact A to justify their position on B. Or they did and I’m too ignorant to read through it. Either way, I try not to jump to conclusions.

          The quote was about how it was not trivial to find the problem from the contestants’ perspective, it was not about them or their effort to prepare the round. Again, could be just me and you arriving at different conclusions.

          It’s pretty clear that this conversation will just devolve to arguing semantics and interpretations, so let’s just agree to disagree.

  • »
    »
    17 месяцев назад, скрыть # ^ |
     
    Проголосовать: нравится +16 Проголосовать: не нравится

    I'd like to object one part of your comment.

    "wrongly affected their strategy"

    I'd say that anyone whose participation is affected by anything related to problem H is already a quite experienced participant. And all experienced participants kinda should already expect that if the hardest problem of the round is solved at nineth minute, this might mean that the problem is known, or at least known to some community (so known Chinese / Japanese archives). Therefore, I'd say that if one's strategy is wrongly affected, it's the participant who's doing something wrong. E.g. when I saw early OKs for problem H, my first motto was "maybe search this problem somewhere in the Internet", but then I analyzed the set of participants who solved it and realized that the problem is probably in some foreign (non-English) archive and I will just waste a lot of time trying to find its solution in vain, because of not knowing the necessary set of hieroglyphs. Then I just ignored it and participated quite well.

    I agree that you may have reasons to want the round to be unrated, but among the reasons there should not be one that "participants got some strange signals from the Standings table and misinterpreted them".

    • »
      »
      »
      17 месяцев назад, скрыть # ^ |
       
      Проголосовать: нравится -23 Проголосовать: не нравится

      Perhaps I'm late to this meta. I do consider myself an experienced participant, and yet when I see instances like this round during the contest, my conclusion is that the testers were not enough data on problem H to conclude that it is truly harder than problems F or G (to most other people), which is not an impossible situation and actually does also occur.

      Apart from my conclusion being reasonable based on prior data (but also not always correct), I keep jumping to this conclusion because taking the branch in which the problem is well known, seems like useless effort to me because in this case I expect the round to be unrated anyway.

      Regarding your last paragraph, you could be right, but I just think that people having their strategy wrongly affected, is not a reason to unrate a round but an indication that something went wrong, and the rating changes are less correlative to the actual level of the participants.

      • »
        »
        »
        »
        17 месяцев назад, скрыть # ^ |
        Rev. 2  
        Проголосовать: нравится +23 Проголосовать: не нравится

        because in this case I expect the round to be unrated anyway.

        can you give me even one example where this has happened?

        There have been lots and lots of coincidences but it has never happened caused unrated (to my knowledge at least)

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

          You are right in the sense that I am not sure if an instance exists, where a round had an unintended not original problem and it led to an unrated verdict. It definitely couldn't occur in the last ~2 years since Mike put out the aforementioned post.

          But it is not the correct way to view the strategy. The knowledge you have when you apply the strategy is not whether you know if the problem was intentionally copied or mistakenly (because you don't know in-contest), but just on the fact that you see an odd behaviour in the AC count of a harder problem, and thinking how does it affect the probability that the round will become unrated.

          So the question that should be asked is "given that the mid-contest dashboard had an odd AC distribution, what is the probability the round becomes unrated", and based on this probability, choose your action. With this in mind — among the rounds that had an odd dashboard distribution, there were certainly rounds that became unrated, and this correlation is greater than independent events.

          Please let me know if that was clear logic. All I'm saying is that it is a valid strategy.


          We can now argue whether the described probability means the strategy should be this way or another. And I don't even claim my strategy is optimal at all, I only claim that it is sound, thus it is affected by data that does not necessarily relate to skill / rating.

          However I see no point arguing about which strategy is better;

          1. It will become a subjective matter.
          2. While I appreciate that you challenge my message, the statement about whether my strategy makes more or less sense to you, is not the focus of my message and really, it just drives away from the main concept I want to convey in this dialogue — it is okay to unrate a round while appreciating the efforts of the authors, because the rating is supposed to express the approximate level of the participants (and not whether the authors "deserve it"), so unrating a round needs to be a function of whether the results truly showed the participants' skill.

          With that being said, if you want to point out something about my main message then go ahead. If you want to further discuss the optimality of the strategy then we can continue in private messages.

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

            I did not comment on your strategy. Indeed it can be hard to judge whether a problem is just easy, or a problem is a copy.

            I only pointed out an inaccuracy in your argument.

            • »
              »
              »
              »
              »
              »
              »
              17 месяцев назад, скрыть # ^ |
               
              Проголосовать: нравится -7 Проголосовать: не нравится

              What? The sentence you have quoted is not an argument at all. So I really have no idea what you want, but if you have nothing meaningful to add, and want to just diverge from the main issue, then please don't bother.

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +17 Проголосовать: не нравится

thank u for gigi shoutout in question f

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Will be unrated?

»
17 месяцев назад, скрыть # |
Rev. 3  
Проголосовать: нравится +26 Проголосовать: не нравится

Also, it's harder to determine who solved it legitimately than you might think.

Just wondering, did anyone solve this in-contest problem without accessing the Yukicoder submissions?

I took a brief glance at all the C++ submissions from the top 50 contestants, and I think cmk666 was the only one whose solution might not have been copied from Yukicoder.

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +16 Проголосовать: не нравится

if we remove H then tourist would rank 1

»
17 месяцев назад, скрыть # |
Rev. 2  
Проголосовать: нравится +6 Проголосовать: не нравится

At least they should remove problem-H's submissions and retest whole contest and so they can give rating to everyone with fairness.

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +110 Проголосовать: не нравится

The problem itself is brilliant, we appreciate your creativity and hard work on the problem.

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +7 Проголосовать: не нравится

im hoping round doesnt become unrated.. the problems were good (I only solved 2 but o well)

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится -10 Проголосовать: не нравится

If it's still rated then why not exclude H and calculate the rating based on A-G?

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +97 Проголосовать: не нравится

In fact, problem E was also identical to a task on HKOJ (Hong Kong Online Judge)

Image

The editorial from here gives an $$$O(N)$$$ solution for the task.

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +10 Проголосовать: не нравится

I think we shouldn't make the entire thing unrated because the rest of the problems were fun and valid so no reason to remove them? Perhaps we could just remove H, would that be an option? Shouldn't change much to the ratings apart from the first couple contestants, since most people didn't solve H either way.

Otherwise we might as well just keep the whole thing since as you said the Yukicoder problem statement was only available to Japanese contestants and not that many people solved it, I think perhaps "good for them" is a valid option here.

Anyway thanks for your time, this was a fun couple of problems!

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +20 Проголосовать: не нравится

I mean making it unrated is not fair either. Can't the problem H be considered null and void and rankings be calculated in accordance to it?

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +144 Проголосовать: не нравится

Wanted to bring up this idea since it may get more traction here: if we remove H from the standings, but then also allow all contestants who ACd H the option to remove themselves from rating changes, I think this does a pretty good job at achieving a fair outcome:

  • Anyone whose rank was affected by people above them will have this effect removed.
  • People who spent time on H due to the solve statistics will still be affected in that way, but at least the outcome for them won't be worse than it is now.
  • People who solved H by copying have the option to receive no negative rating change from the contest.

I don't think this has been done in the past, but it seems like a pretty reasonable solution to me; I don't think it's worse in any way than the current approach of just leaving standings unchanged.

  • »
    »
    17 месяцев назад, скрыть # ^ |
    Rev. 2  
    Проголосовать: нравится -11 Проголосовать: не нравится

    After reading the other comments and Mike's post I think this is probably the best solution in terms of maintaining the value of the contest. However, I think there are two main obstacles with it: 1) Firstly and more importantly about implementation but there have been special cases or circumstances in past contest so it may be possible to do. 2) But secondly, the round has prizes and might be used by NeoWise for recruitment so then how should it be considered. Should the problems be manually checked for similarity to the YukiCoder solution, should all submissions be accepted? This question matters more I think because rating can be recovered but real world impacts like jobs or internships are not as easy to get. I know I didn't solve H so my opinion doesn't count as much but I still think the points should be considered, anyways thanks for reading.

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +81 Проголосовать: не нравится

This has to be one of the problem author's worst nightmares, if not the worst one. I am incredibly sorry that it happened to you.

I did not participate in the round, so I guess I probably should not have much of a say on whether it shall be rated.

However, I would also like to remind everyone that if something bad happens in the round for you (as a participant) and you lose rating or get irritated, it is only temporary and you will be okay with it in a week or so. But if something like that happens to you as an author, it can still hurt you even after a year.

As for SanguineChameleon, I hope you manage to overcome this and continue to enjoy problem setting. Such stuff happens and it sucks, but do not let that or negative comments discourage you. You brought some awesome problems to us, and I am certain many people will enjoy them, despite 1 problem already appearing somewhere!

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +85 Проголосовать: не нравится

I say leave it be. It's fine. If the problem wasn't in English anywhere, and it wasn't some kind of famous problem in Japan but only known because it recently appeared, then it's the same as if it was a secret problem for some hidden training — nobody can know without noticing too many early submissions. Those who solved the problem didn't find it, they knew it. The order of solving problems in a contest is:

  1. easy problems
  2. problems you've solved and remember <-- we are here
  3. harder problems that you're confident in being able to finish
  4. whatever fits your skills
  5. everything else

(Sometimes the list includes 6. geometry)

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится -19 Проголосовать: не нравится

as a dropped-to-expert participant, unr plz :(

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится -18 Проголосовать: не нравится

The statement is in Japanese, and it's practically impossible to find the problem if you don't search in Japanese or live in Japan. Now, you might say that we should've Googled in Japanese before the contest. But what if it wasn't a Japanese problem? What if it was a Polish problem? A Romanian problem? It's not feasible to try every language.

In fact, searching problems has nothing to do with the languages of statements. There is a website yuantiji(called 原题机 in Chinese, which means "The Machine to Find Coincidence Problems"). It can search coincidence problems ignoring the language differences, just focus on the math formulas. Also, since it is based on Vjudge, it can search among a large range of OJs.

  • »
    »
    17 месяцев назад, скрыть # ^ |
     
    Проголосовать: нравится +23 Проголосовать: не нравится

    but the post already mentioned that and clarified that the problem was not found on yuantiji at the time of contest (which I rechecked, it was indeed not found on yuantiji)

  • »
    »
    17 месяцев назад, скрыть # ^ |
     
    Проголосовать: нравится +23 Проголосовать: не нравится

    I got a similar problem of H weeks ago without solution. Someone told me the problem is classical so I have tried to find it with yuantiji. No result.

    Yuantiji couldn't find H, even after this problem been used in Codeforces. . Trying before saying

  • »
    »
    17 месяцев назад, скрыть # ^ |
     
    Проголосовать: нравится -21 Проголосовать: не нравится

    The problem is that the language problems can be easily solved through tools like AI-translators. Non-Japanese participants also found the original during the contest.

    PS: There are Japanese testers. So this is not a reasonable excuse.

    • »
      »
      »
      17 месяцев назад, скрыть # ^ |
       
      Проголосовать: нравится +5 Проголосовать: не нравится

      PS: There are Japanese testers. So this is not a reasonable excuse.

      What are you implying through this? I see a purple Japanese tester, do you really expect purples to look at H?

      Blaming any of the authors/testers is completely illogical

      • »
        »
        »
        »
        17 месяцев назад, скрыть # ^ |
         
        Проголосовать: нравится -26 Проголосовать: не нравится

        No one is blaming any of the authors/testers. They have taken so much work to the contest. It's not their fault.

        The thing is that, if you don't take enough effort to figure out whether there are originals or not, you have to take risks that there actually ARE.

        Not the first time that originals appeared in Codeforces rated contests, but the contests just remained rated. Preparers don't have to take risks that originals appear in the contest, so they continue to exist in rated contests.

        • »
          »
          »
          »
          »
          17 месяцев назад, скрыть # ^ |
           
          Проголосовать: нравится +14 Проголосовать: не нравится

          No one is blaming any of the authors/testers. They have taken so much work to the contest. It's not their fault.

          you say you are not but in the very next line....

          The thing is that, if you don't take enough effort to figure out whether there are originals or not, you have to take risks that there actually ARE.

          Make up your mind. Decide whether you want to claim that they did their jobs correctly or not.

          Preparers don't have to take risks that originals appear in the contest, so they continue to exist in rated contests.

          It is a very big blunder personally, and I can tell you no author wants it. Are you aware of some contests that do not have coincidences (or one in a million?)

          • »
            »
            »
            »
            »
            »
            17 месяцев назад, скрыть # ^ |
             
            Проголосовать: нравится -26 Проголосовать: не нравится

            It's not authors' fault, but neither should the roung be rated, because participants who didn't search for H lost their ratings.

            If authors don't want their rounds to be unrated, they have to find out whether there are originals. However if coincidence appears despite this, it's not their fault anyway.

            Now it happened unfortunately, so it's not the time to figure out whether the authors tried to find the originals or not, or whether this is a coincidence or not. As long as the round's rated, it is unfairness for an online CP round. Being rated or not has nothing to do with whoever should be blamed.

            Obviously, nobody should be blamed for that. The authors have paid a lot of efforts on the round.

            • »
              »
              »
              »
              »
              »
              »
              17 месяцев назад, скрыть # ^ |
               
              Проголосовать: нравится +6 Проголосовать: не нравится

              It's not authors' fault, but neither should the roung be rated, because participants who didn't search for H lost their ratings.

              It's not quite as simple of a calculation. For example I gained rating and could've perhaps gained more if I just bashed out F instead of spending over half an hour on H. Presumably it's more common to lose rating when wasting time on H than to do so well in a short time that wasting time will still result in a rating gain, so the basic principle would apply, but it's not unarguable.

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится

They may need to invite more testers from other countries.

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится +5 Проголосовать: не нравится

Then sir, why don't you just make submissions of H NULL

»
17 месяцев назад, скрыть # |
Rev. 2  
Проголосовать: нравится -57 Проголосовать: не нравится

I believe disqualifying the contestant who copied the code for problem H can ensure fairness, such as Eason_OIer. I don't think a Specialist (prior to this contest) contestant could solve this problem, especially outperforming tourist and rainboy. Even if he didn't copy code directly, the style of his H-submission strongly resembles AI-generated code with numerous English comments — something absent from his solutions for problems A and B. I suspect that he might have used AI to rewrite the code.Here is his code.316279760

Translate by DeepSeek.

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится -20 Проголосовать: не нравится

The cheaters are clearly not just 'a very small percentage'. Dozens of people just copied some code within minutes or just had already solved the exactly the same problem. Trying too ignore this number of cheaters is shame for a rated contest (consider the performance diff between rank 1 and rank 30 is almost 1000).

Of course, it's not the authors who should be sucked, but neither should participants be. The ability of searching for originals of problem testers of a RATED codeforces round at least, shouldn't be weaker than some random participants who are not even from Japan.

»
17 месяцев назад, скрыть # |
 
Проголосовать: нравится -7 Проголосовать: не нравится

You should have deleted H after 40 minutes.This might save the contest.