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

Автор MikeMirzayanov, 5 лет назад, По-русски

Привет, Codeforces.

За последнее время на сайте появилось несколько улучшений. Чуть позже я напишу заметку с перечислением нового. Здесь же я хочу рассказать о заметной новой функциональности, которая недавна была реализована kuviman-ом.

Иногда после окончания раунда в комментариях указывают на неполноту тестов и просят добавить тот или иной тест. Теперь этот процесс автоматизирован.

Встречайте, фазу довзламывания!

Теперь, после окончания почти любого соревнования у участников из Div.1 в течение недели возможность довзламывать любые решения в этом соревновании. Да-да, в том числе официальные решения с раундов. В случае удачного взлома:

  • ваш тест будет автоматически добавлен в задачу и будет использован в будущем при тестировании этой задачи;
  • если взломанное решение является дорешиванием, то его вердикт изменится на «решение взломано», иначе его вердикт останется без изменения;
  • участник, чье решение взломали, получит уведомление об успешном взломе его решения;
  • каждое решение может быть успешно взломано лишь единожды.

В целях добавления в задачу только адекватных тестов запрещается взламывать решения, которые осознанно подставились под взлом. Пожалуйста, строго следуйте этому правилу. Именно из-за возможности неадекватного поведения мы не можем открыть довзламывание для всех.

Надеюсь, что это нововведение окажется полезным и тесты к задачам станут еще лучше!

MikeMirzayanov

UPD: Наверное, позже мы продлим период довзламывания и уменьшим требования к рейтингу взломщиков.

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

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

What about some limit? You should be blocked for an hour after ten unsuccessful hacking attempts. There are some randomized solutions that will break after 1000 random tests. Otherwise, that's a nice feature. By "including official solutions from rounds" do you also mean author's solution?

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

    Later we will introduce some limits if needed.

    Here, official means contest solutions of official participants.

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

      Let us have some fun. Publish authors' and testers' solutions too :>

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

        You are also one of them xD

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

        How would you hack an author's solution? Hacks run on their solution to determine expected output. If your solutions conflict, how will the system tell who is right?

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

          What about the author's solution gets TL/RE instead of WA?

          Or the problems need to output a plan which has multiple answers, the author's solution can't pass the checker.

          You can even hack the validator or checker.

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

            Uphacking works basically same as usual hacking during the contest.

            We still assume that authors' solutions are correct, you would get system failure in case they are not.

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

              well, it's still possible to show that author solutions disagree (or too show that output is certainly incorrect in case of "smart" checker)

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

                Yes, if you get failed verdict, that's most likely this.

                But I don't think there can be done anything automatically here, this would require authors to check, hence it is a failure

                Uphacking can help with fixing the tests, not authors solutions, unfortunately :)

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

                  Well, if you'd show author solutions, it would help with authors solutions too :)

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

              There are always a bunch of solutions made by authors and testers. It's enough to find a test for which some of them will disagree.

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

    I agree with you that may lead to DOS attack if someone automated the test so limits will avoid DOS attacks

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

Не можем

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

"Именно из-за возможности неадекватного поведения мы можем открыть довзламывание для всех." Скорее всего вы имели в виду "не можем".

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

надо было эту картинку добавить

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

If a solution is hacked after rating change of a rated contest, will it affect the result of the contest? Like will the standings update or the rating change?

Thanks a lot for the great feature! I remember there were rounds that got pretty weak tests.

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

    If a hacked solution is a practice (i.e. upsolving), then its verdict will change to “hacked” otherwise its verdict will remain unchanged;

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

Hello MikeMirzayanov , There is a bug while we open a solution to hack, I am unable to read the complete message about uphacking ( if I try to scroll down then the hacking window also scrolls down). To reproduce the bug, open any solution and scroll down, the complete hacking window does not fit on screen.

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

Hello MikeMirzayanov , There is a bug,when we open a solution to hack, I am unable to read the complete message about uphacking ( if I try to scroll down then the hacking window also scrolls down). To reproduce the bug, open any solution and scroll down, the complete hacking window does not fit on screen.

UPD: Initially I was getting option to hack but now this option has been removed, I think it was a mistake !!

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

Will there be separate hackers ranking? (Similar to Contributors)

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

should add hacking points on profile for incentive

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

    But this will also give incentive to hacking solutions that were created by mistake, hence adding way too many tests to the problem and slowing down codeforces significantly. Better to leave it as is

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

There might be more features that should be available only for experienced users, so that would be great if we have some sort of "experience point" system. Users participated in enough contests and achieved enough rating (therefore increase their XP) will gain privileges to up-hacking, proposing a problem/contest, faster feedback, faster reporting of disrespect behaviours/cheating, etc...

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

What about constructing solution-specific countertests for randomised solutions with otherwise very low probability of failure? Should that be allowed?

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

after that does there a new counter for successful and unsuccessful hack in profiles (like contribution)?

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

Good quality update. Hope to see many more in the future.

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

it is forbidden to hack solutions that intentionally contain a mistake

I think implementing a check mark for intentionally mistaken solutions is good.

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

Someone will submit a wrong sollution and hack themselves.It't a problem.

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

Great, now I can't even practice without getting hacked

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

    Now you can practice without considering your wrong solution as a correct one.

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

In case of a successful hack on an official rated solution, would the rating change for those whose solutions are hacked? Or, will the ratings updated only after a week when the uphacking phase is over?

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

Things are getting more complicated now....

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

So what submission can people hack.

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

Seems like one can't hack submissions from virtual participation?

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

"participants from Div.1 have the opportunity to hack any solution in this contest during the week."

As of now, we can't hack everyone's solution but only div 1 participants, being precise then we can hack solution of participants who currently (after the contest) has rating greater 1900. Is it a bug or I misinterpreted it??

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

When is this feature possible?

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

Uphacked submissions in the standings should have another color. Now both failed and uphacked submissions are red. I suggest brown (as the color of what has passed system tests).

ping MikeMirzayanov

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

Surprised this wasn't mentioned when this post first appeared

Your test will be automatically added to the problem and will be used in the future when testing new solutions for this problem

This holds true even in virtual contests — 57403374 was an in-contest AC that when I resubmit in a virtual contest I get WA — 57458328. Why??? How is that a virtual experience of a contest? Please MikeMirzayanov just let us have i) option to test solutions against pretests only during a VC and ii) option to test solutions against just the system tests, without uphacks after VCs, so we can simulate the contest experience more realistically.

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

MikeMirzayanov, пожалуйста рассмотрите предложение моей собственной задачи, отправленной 24 дня назад. View please my own problem proposal, sended 24 days ago.

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

Uphacking has been a really nice feature to make tests even stronger for practice. Wouldn't it be better if hacking people outside your room was allowed in contest time, with no positive point for successful hack, maybe negative point for unsuccessful hack? Maybe total number of hacking attempt outside room can be limited per user.

I think this will strengthen the systests, specially for hard problems.

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

MikeMirzayanov I've noticed a bug with uphacking. Uphacked contest submissions don't show that they've been hacked if you are logged out, see for example https://codeforces.com/contest/1263/submission/65981072.

Also the following is just a small suggestion. I get that it is a feature that uphacked contest submissions still have status "accepted". The issue is that I've been uphacking a lot of submissions on yesterdays E, and now I have a hard time to go over those submissions that haven't been hacked (only way to check if a contest submission is uphacked is to open up the submission). Would it be possible to add something that distinguishes true contest AC and uphacked contest AC?

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

Could you extend the scope of UPHACK, maybe to 1600+. It's a really nice feature but few people could use it.

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

I am confused about rules of up-hacking and open hacking (in educational, Div.3 or Div.4 rounds).

In Codeforces Round 855 (Div. 3), I noticed that tests of successful hacking during open hacking phase weren't added to future tests (first and second submission), while tests of up-hacking were added (second and third submission).

Later in Codeforces Round 859 (Div. 4), I noticed that tests of up-hacking were not added this time (fourth and fifth submission), either.

So what is the difference between them? Is it because anyone (maybe the writer?) set constraints like "no new tests are allowed", or the hack behavior violated some rules (or probably something else)?