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

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

Приветствуем, друзья)

Рады приветствовать вас на очередном раунде Codeforces #130 для участников Div. 2. Как обычно, остальные могут поучаствовать в нем вне конкурса. Некоторое время были проблемы для регистрации участников вне конкурса, но сейчас все в порядке)

Задачи для вас были подготовлены группой авторов в составе: Павел Холкин (HolkinPV), Николай Кузнецов (NALP) и Геральд Агапов (Gerald). Традиционно хотим поблагодарить Михаила Мирзаянова (MikeMirzayanov) за прекрасную систему Codeforces и Марию Белову (Delinur) за перевод условий. А также благодарим за помощь Александра Куприна (Alex_KPR) и Кунявского Павла (PavelKunyavskiy).

Распределение баллов вновь будет динамическим) Подробнее информацию об этом можно найти здесь.

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

Всем участникам мы желаем успехов, удачных взломов и высокого рейтинга!

UPD: контест завершен, несмотря ни на что, надеемся соревнование вам понравилось

UPD2: Авторы просят прощения за ситуацию с задачей Е. Так как задача оказала влияние на небольшое количество участников из див2 (22 участника), а решение первоначальной версии задачи не сильно отличается от измененной версии (в большинстве решений достаточно удалить пару строчек) в сторону упрощения решения, было принято следующее решение:

  • для всех 22-х участников див2, кто имел проблемы с задачей E из-за условия и имел бы понижение рейтинга по результатам раунда, раунд будет нерейтинговым
  • для всех остальных раунд рейтинговый.

UPD3: после пересчета оказалось, что таких участников 20, а не 22

UPD4: добавлен разбор задач

UPD5: взломы которые были признаны неудачными, но вывод для которых отличался от правильного пробельными символами, решено проигнорировать

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

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

Дождались)

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

Стоимость задач будет динамическая?

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

    Если не написали, значит еще неизвестно. P.S логика.

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

Will it be dynamic scoring.?? If not what is the score distribution??

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

Are you going to make all contests in future with dynamic score system? Or you just making experiments?

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

    Is there anything bad with it?!

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

      Yeah, I think this system need a lot of improvement, and now it looks very poor and unfair. Excuse me, developers, but it's my own opinion.

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

      My feeling is that in dynamic scoring system there is not so many points distributed (I have no statistic for this, just a feeling)... And so, the coders' rating is decreasing for most of them :-(

      I think it would be better if it's smoother (as discussed in comments on dynamic scoring blog).

      On the other hand I like these dynamic scoring rounds, because you do not know the final score until the very end of the contest (system tests).

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

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

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

    Пожалуйста, объясните.

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

    Сейчас будет еще больший прикол: второй коммент поста сольют, и станет не понятно, к чему был мой. И тогда сольют всех троих )

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

Из какого слова в задаче B нужно удалить две буквы, чтобы она стала на столько проста, как A? )

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

How to judge Problem A? I've found a solution which generate "WE ARE THE CHAMPIONS MY FRIEND " for the second example.

There are two spaces between ARE and THE, but it's still right. Is this a mistake? Or some other reason?

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

    As per as I have found. Cf checks answers by tokenizing them. So whitespaces doesn't matter unless it is explicity mentioned as in some questions.

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

      Ah... thanks... Kind of unhappy :( I spent 20 minutes and hacked nobody...

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

        We have removed all such unsuccessful hacks.

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

          Instead of just removing the unsuccessful hacks, people with the incorrect answer (differing in number and position of spaces) should have failed system test. As I mentioned earlier, many of the contestants may have put in additional time to get the right answer.

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

Мне кажется, что нужно засчитать оба понимания условия, а то как-то нехорошо.

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

Ну это свинство. Я пол часа пялился в код, добавлял тесты и разные рантаймы на инварианты — чтобы оказалось, что авторы дали неправильное условие :(

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

Why my hack was wrong?

My attempt was like: WUBWUB...A, the expected answer is "A", the other guy solution prints " A" :/

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

    Just like what i said above... That's very intetesting... i think the judge regard space as nothing...

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

    You just got trolled by codeforces, they ignore white spaces.

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

    i think the judger ignores all blanks, but i don't know if it is right

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

    I also lost points for unsuccessful hacks for similar cases. Also, I took much longer time to code and test for such cases during my submission. This way of evaluation is really unfair.

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

    We have removed all such unsuccessful hacks.

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

Can anybody give me hint for problem B ? My code fail in preetest 9 :(

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

This contest should be unrated. Before you change the statement of problem E it's impossible to AC

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

    I partly agree with you, after the change of the statement , there was not enough time to solve it.

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

    There exists a solution for both versions, which differs by only one line. But I also think the round should be unrated.

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

      But it'd be unfair for those, who have spent almost two weeks in Div2 after the previous round and now have real chances to return back to Div1.

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

      You're right, to solve the previous problem you just need to do a subtract operation. It's not so good to change statement in the last few minutes.

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

    Another reason to make it unrated is that CF added 10 minutes to coding phase. It's true that system failed for ten minutes but it was 10 minutes of time to code and think for some others and in my opinion it's unfair. Let's wait and watch what they will do! :)

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

Can I have the time that the editorial be posted?

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

    I solved it by DFS order and functionnal segment tree. First we get the DFS order in O(N) time Then we get the k-parent in O(logN) per query(by the same method like LCA) Now we should solve a interval question : how many Di in L..R It can be solved by functional segment tree easily

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

removed

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

How can some competitors solve problem E at their first attempt before the announcement?

Way to solve problem E:

Solve the wrong version of problem E and got WA on pretest 8.
Notice that the contest extended for 10 minutes.
Notice the problem statement change and fix it quickly and submit it.

I think this is a quick response to announcement contest, nice style :)

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

    Hello, can you tell me how to solve problem E?

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

    What is the wrong way to understand problem E? I didn't find the statement ambiguous and solved it.

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

      At first statement suggested that for test

      4
      0 1 2 2
      1
      4 2
      

      answer is 0 (as 4 and 3 are 1-brothers and not 2-brothers)

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

Считаю несколько странным сочетание динамической системы оценивания и участия 1-го (высшего) дивизиона вне конкурса: разве результаты участников 1-го дивизиона не будут слишком уж существенно влиять на ход рейтингового соревнования участников 2-го дивизиона?

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

    Вроде в тот раз говорили, что баллы за задачи зависят только от div2 участников

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

Ну вот... Эпоха хэшей прошла =( Вот решение с хэшами:

http://codeforces.me/contest/208/submission/1927948

А вот что будет, если заюзать map:

http://codeforces.me/contest/208/submission/1932588

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

    Ну, у меня решение де-факто тоже использует хеши (для HashMap). Так что я с тобой не согласен :).

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

    В решение с хешами на мой взгляд дело в вычислении функции. У тебя hash=hash*hx+calc(s[i])=hash*hx+a*hx+b тоесть что для (hash,a,b) что для (hash-1,a+1,b) на след итерации hash будет одинаковым.

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

Why Compilation Error is counted as -50?

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

Кто-нибудь может помочь разобраться, почему в B заходит перебор? :) Интуиция подсказала, что нужно решать перебором, но доказать какую-нибудь оценку количества промежуточных вариантов не получается..

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

    Пусть мы знаем N — кол-во оставшихся кучек, тогда мы знаем содержимое первых N-3 кучек и нам нужно только 3 числа (оба не превосходят 50) — номера кучек, где они были раньше.

    итого состояний O(N^4)

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

    Потому что есть конкретный тест на котором он долго работает. Он даже с отсечением по времени не проходит. Посмотрите, тесты уже должно быть можно скачать.

    *Как можно к любому перебору не прикрутить запоминание, получив 4-ую степень?*

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

      почему заходит перебор

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

        Черт. Надо учиться читать. То неправильное условие правильно понимаю, то еще что. Ты объяснил, почему он заходит с запоминанием. Если не запоминать, то бывают плохие тесты. Просто эти тесты разные для разных переборов. Скорее всего это недоработка. Мой перебор Gerald завалил.

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

          Ну да, согласен.

          Ну судя по описанию, DmitriyH тоже не считал повторно никакие состояния

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

      Мой перебор: Пусть есть текущий набор состояний (set из vector-ов из string-ов). На каждом шаге (n-1) из каждого элемента этого set-a сгенерим новый set: объединение возможных состояний на основе допустимых переходов. Если в какой-то момент set пустой, то ответ NO.

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

        Лучше дайте ссылку на код.

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

            В данном случае сет просто эквивалентен запоминанию. Одно состояние не считается несколько раз, а их мало.

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

              Вот и подошли к сути: почему мало состояний? :)

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

                Ну потому что у всех твоих векторов префикс одинаковый, состояние определяется суффиксом, а различных суффиксов мало.

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

                Рассмотрим состояние, в котором осталось не менее 3 стопок. Оно полностью определяется числом x и строками c1, c2, c3, где x -- кол-во оставшихся стопок, c1, c2, c3 -- верхние карты 3-х последних стопок. Остальные стопки не могли измениться. 3<=x<=52, ci принимают одно из 52 возможных значений.
                Таким образом различных достижимых состояний существует не более 52^4.

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

Please help me out ! I'm new to codeforces enviroment. My solution id is 1931589 and want to know the full test case for which I got runtime error or bug in my solution ?

Thanks

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

    I believe you can't view the full test case because it's too large, you can only see part of it.

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

Задача E же была один-в-один на этом ВКОШПе. Боян же.

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

Решение http://www.codeforces.ru/contest/208/submission/1925283. На тест типа BLABLABLA**WUB** выводит пробел в конце строки. Но оно AC, и я его таким тестом не смог сломать на туре. Сосбственно, семплы тоже должны его ломать.

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

    Читай обсуждение выше, проверялось видимо стандартным чекером, игнорирующим вайтспейсы.

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

    Такое могло быть, если авторы воспользвались стандартным чекером wcmp, который игнорирует все несоответствия по количеству пробелов. Если это так, то ещё одно ФУ в сторону контеста.

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

    http://www.codeforces.ru/contest/208/submission/1932831 просто меняет WUB на три пробела и прекрасно проходит

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

    Мы удалили все такие неудачные взломы по этому задаче.

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

I am wondering, if on this submission: http://codeforces.me/contest/208/submission/1925102 I saw the error, it should give runtime error, is there a chance that I try to hack it and it should result in runtime error and it does not? (I dont know how exactly runtime errors are thrown on windows..)

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

Слава динамической системе баллов. Когда я полчаса убил на B, а потом увидел, что за это время в комнате 10 человек решили D, я бы мог огорчиться, что решал не ту задачу, но...

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

    Задача D не была бы задачей D без дин. системы и вы бы ее сразу решали

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

      Все равно можно сказать, что человеку повезло насчет того, что он относительно быстро решил задачу стоимостью 2000 :).

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

        Я же думал, что она простая, и что поэтому я ее обязан быстро решить ) Автотренинг, так сказать.

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

Странные какие-то контесты с динамической системой получаются(

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

Может стоит в таблице результатов сделать возможность показывать только людей вне конкурса?

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

Увидев задачу A, подумал, что контест Java-friendly: довольно забавно делать split по строке "WUB".
В C++ видимо надо менять эту строчку на пробелы, а потом использовать stringstream, кода не больше, но как-то там думать надо)

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

    Когда меняет рейтинг?

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

    Как оказалось(кхм), без включения мозга на этом языке тоже : 1932931

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

      Да ну вас, юзаете кривость чекера по полной, это не труЪ

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

        Собственно, это сдано было не на контесте и я даже не подумал, что это задачу можно тестить стандартным чекером

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

          Авторы утверждают, что это не ошибка. И такой чекер стоял специально. Дефолтным считается, что whitespace не имеют значения, а обратное в условии явно не написано. Думаю, что взломы на этом все-таки снимут.

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

            Ну значит у нас с авторами разные представления о прекрасном)

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

            Глупо такое утверждать. Задача явно на технику работы со строками (какую-никакую, но всё же технику). Мне лично было очевидно, тем более после фразы "Слова при выводе разделяйте пробелом.", что с пробелами надо аккуратно работать.

            Я знаю, что принято в большинстве случаев терминальные и ведущие пробелы обрубать (чтобы можно было в цикле выводить, например, printf("%d ", A[i])). С этим я по большому счёту согласен. Но внутренние пробелы в строке, казалось бы, никакого смысла проверять по-доброму нет. Мне кажется это неправильным.

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

              Я лично вообще зассалбоялся выводить даже пробел в конце строки — посимвольный чекер был бы ИМХО вполне закономерен.

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

              На финале и ведущие и терминальные пробелы могут не простить. В ПТЗ как-то была такая задача, у кучи команд были минусы как раз из-за такого вывода, в том числе и у нас. Конечно, есть точка зрения, что на контестах уровня CF ставить такие критерии очень жестоко. И я ее одобряю. Но если в один прекрасный день все начнут писать for (int i = 0; i < n; i++) cout << a[i] << " \n"[i == n-1], то мне кажется, что в мире станет чуть больше добра.

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

                И говнокода.

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

                Добра станет больше тогда, когда не будет таких задач в ПТЗ/гдебытонибыло.

                Если дело не касаетсяобработки строк

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

            Слова при выводе разделяйте пробелом. В единственном числе, а значит написано явно.

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

      print ' '.join(filter(None, raw_input().split('WUB'))

      Если мы не хотим игнорировать пробелы)

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

Excuse me. . Can you update this blog so we can know this round will be rated or not ?

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

These problem was well designed.

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

Уважаемые организаторы, можно ли пересмотреть взломы по задаче А? Например, один из моих взломов (43803) приводил к ответу с лишними пробелами. Но в итоговой таблице он числится как неудачный.

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

    Да, мы пересмотрели такие взломы. Все они были удалены.

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

Будет обновление рейтинга или нет?

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

А что мешает таки пересудить задачу Е с чекером, который принимает оба понимания условия?

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

Странное какое-то решение, в течение 1 часа 50 минут в задаче E была бага, а раунд делают рейтинговым, как-то это неправильно.

Да еще и чекер в задаче A странный, казалось бы, в подобных задачах на обработку строк чекер надо делать строгим.

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

    Ну для большинства тех, кому рейтинг пересчитают действительно без разницы ибо они не сабмитили. А если бы у них было решение в первоначальном понимании, они бы его сдавали ибо семплами не ловится.

    Так что именно по этой части все логично

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

    Странно делать нерейтинговым. Участников на кого это чисто гипотетически повлияло было 20, а по факту (тест 8 — первый большой), значительно меньше. Всего участников более 1300. То есть ожидаемое кол-во на кого повлияло — примерно 1%. Всех на кого влияло можно исключить из обновления рейтинга, если они хотят (кажется, что это эквивалентно посмотреть на знак изменения рейтинга). Я не вижу, чтобы жаловался кто-то из 1%. Или просто обоснованно кто-либо из Д2. Зачем делать анрейт для 99%? Есть только несколько Д1 участников вне конкурса, кто имеет отличное мнение.

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

По-моему странное решение. Естественно сделать раунд рейтинговым, но почему бы не перетестить с двумя вариантами и не засчитать первое верное решение?

Если человек написал контест в плюс, это не значит, что он не потерял рейтинга на неправильном условии

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

Hi guys!

After reading the description of problem B, I was not quite sure about one part of the statement. After shifting one pile x onto another one (x-1 or x-3), is pile x effectively removed? in other words, are all piles renumbered after each move? still not clear to me after reading the statement several times.

Either way, I dont understand pretest 5: 7S 7S 4S 8H 4H (its answer is supposed to be "NO")

Assuming piles are removed: 7S 7S 4S 8H 4H => 7S 4S 8H 4H => 4S 8H 4H => 4S 4H => 4H.

Assuming piles are not removed: 7S 7S 4S 8H 4H => 7S 4S 00 8H 4H => 4S 00 00 8H 4H => 4S 00 00 4H 00 => 4H 00 00 00 00

So... I just dont get what I'm doing wrong here, in my opinion the answer should be "YES". Could someone enlighten me? Thanks!! :]

PS: Great contest, was fun... Thanks for you work guys!!

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

    x is always last. So, it's removed, but nothing renumbered

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

    Wow. I understand it now, this statement mislead me big-time: "During one move, a player can take the whole pile with the maximum number x (that is the rightmost of remaining) and ..."

    It totally sounded to me as if the maximum number of the pile to be put onto another one is x (of course, rightmost one)... and assumed every pile starting with pile 2 can be put on ones before. Not sure if this was intended challenge.

    A more obvious statement wld have been: The pile x, whereas x is the maximum possible value and therefore represents the rightmost pile, can then be put on...

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

      Firstly, I had the same idea as you, but then I've reread the statement, it goes "Let's number the piles from left to right, from 1 to x", further explaining what one can do with pile x.

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

        Yes, you are certainly right. The statement is definitely correct. It could just be written in a way the intent is more obvious. ;)

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

Hi, When the editorial will be available?

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

Спасибо за контест.
Я за unrate.
Т.к. лично я убил уйму времени на придумывание-написание задачи Е до изменения его условия, когда как после изменения она оказалась уже решенной задачей на ВКОШПЕ.

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

    По-моему не реально придумать ту задачу с ВКОШПа и не придумать эту%)

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

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

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

    Ты-то свой анрейт получишь...

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

      Вряд ли, решение не пройдет ни то понимание, ни другое

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

2:20 AM here and still wait for ratting

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

А может каждый сам выберет: делать рейтовым или нет? Как когда-то было...

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

    Когда-то, это когда?

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

      После 58-го раунда было решено, что каждый решит, будет раунд рейтинговым или нет. Вроде бы тогда с условием английским накосячили.

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

    И начнется куча рандома, когда люди на которых не повлияло не хотят терять рейтинг(я не утверждаю, что так будут делать все)

    Не понимаю, как на тебя, например, это повлияло. Если первую задачу за 2 часа ты не придумал, а во второй запутался?

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

      Вы о чем?

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

        Это не тебе отвечали.

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

          Я понял, но 'Не понимаю, как на тебя, например, это повлияло. Если первую задачу за 2 часа ты не придумал, а во второй запутался?' это вроде про меня, только почему это я первую задачу за 2 часа не придумал?

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

            Нет, это сказано именно Нуржану; под первой и второй задачами подразумеваются первая и вторая версии условия Е-шки.

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

      Запутался я, решая ПЕРВУЮ версию. Может я не придумал начальную Е из-за того, что был в не очень хорошем настроении.

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

        Я уже давно сделал вывод, что нечего писать контесты в не очень хорошем настроении (да и в не очень хорошем самочувствии и т.п.).

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

        Ну не знаю, по-моему логично здесь считать, что нужно было решить ту задачу, что была изначально(ну и пофиксить), тогда все становится на своё место.

        А повод для анрейта: было написано правильно но не засчитали.

        Впрочем, наша дискуссия по-моему заходит в тупик, по сему предлагаю её завершить.

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

          Хотелось бы отметить, что в новой записи условия задача технически несколько проще, если решается в офлайн. Не надо придумывать способ, как возвращать для комбинации два ответа на запрос "количество потомков на глубине x".

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

        нет никакой разницы, решать первую задачу или вторую — они эквивалентны, поэтому врядли справедливо делать для Вас контест unrated

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

          ok

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

          Аналогично, см. выше — есть разница, она примерно в 10 строках кода. В новом (итоговом) случае я могу складировать pair<int,int> глубина и номер запроса для каждой вершины, в старом я должен еще складировать знак, проверять его и т.д. Это приводит к неприятному усложнению кода.

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

Сегодня обновится рейтинг, или можно ложится спать? UPD. Уже )

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

Sorry for the off — topic question, but I couldn't find any information about virtual participation. How can I join for a virtual competition, and will it be rated or less?

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

По поводу задачи E хотелось бы небольшую метафору.

Представьте, что задача такая: "проверить на простоту число N <= 10^18". За 10 минут до конца приходит уточнение: число N имеет не более двух простых делителей. Решение старой задачи будет решать новую, НО у новой задачи есть решение, отличающееся удалением пары строчек: надо взять пару рандомных a, и почти наверняка проверка a^(N-1) == 1 (mod N) не выполнится.

Сядете ли вы писать задачу в первом варианте за пять минут до конца раунда? А во втором?

Спойлер: число с двумя делителями не может быть числом Кармайкла и проверка малой теоремы Ферма решает.

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

Можно ли откуда-нибудь взять тесты(большие тесты, которые полностью не отображаются при детализации попыток)?

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

    Нет.

    Можете попробовать такой тест:

    n
    0 1 2 ... n --- 1
    m
    

    случайные запросы.

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

Is there any solutions about this contest?

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

Сейчас уже утро, и голова более соображает.

Я хотел спросить про задачу Е, до изменения ее, я толком не знал решения.
А после, знал, так как мы уже ее решили на вкошпе.

Скажите, пожалуйста, мое решение второй версии эквивалентно первой? Оно такое:

1. Для каждого уровня у нас есть список вершин, у которых этот уровень, причем вершины находятся с лева направо, то есть по времени входа.
2. И для каждого запроса я двоичным поиском ищу самого левого брата и самого правого из нужного списка.
3. А проверяю вершину на братство просто смотря на ее p-ого предка двоичным подъемом.

Спасибо.

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

    Да, в разборе описано точно такое же решение. А ответы в разных версиях связаны простым соотношением: Ans1(x, k) = Ans2(x, k) — Ans2(x, k — 1).

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

Мне одному показалось, что рейтинг как-то странно пересчитался?

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

    Почему?

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

      Ну я написал ужасно, занял место ниже, чем моё место в отсортированном по невозрастанию рейтинга списке участников, при этом получил +11, к своему огромному удивлению.

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

        Это нормально. Рейтинг tourist в отсортированном списке всегда первый, но "даже" за второе место он получает плюс. 10 участников с оценочной вероятностью проигрыша 0.1 дадут ожидание +1 место, не так ли?

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

      Да и у Вас, как я вижу, за две решенные задачи, пусть и быстро, 1584 +66 = 1650. Странно.

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

        Не за две решенные задачи, а за 164-е место.

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

        И плюс в отсортированном списке я был где-то около 264-го места.

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

Насчёт взломов по A.

Если бы чекер проверял пробелы — решения, выводящие лишние пробелы, не проходили бы претесты.

Значит, если решения, выводящее лишние пробелы, можно ломать — они прошли претесты, и пробелы не проверяются.

Это вообще правильная логика, или я чего-то не понимаю?

Upd: а в претестах лишние пробелы точно будут, потому что они есть даже в примерах.

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

    Она правильная по модулю того, что таких тестов могло не быть в претестах.

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

      Да, но (я как раз добавил Upd. выше) даже в примерах будет и два пробела подряд, и лишние пробелы в начале и в конце.

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

    По поводу задачи A те, кто ломал решения после претестов, конечно, не правы. Возмущение должно быть в другом — почему это не WA#1? Столь добрый чекер приводит к решению вида "заменить все WUB на пробелы и вывести", что совершенно неожиданно для этой задачи.

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

Why Codeforces English Version is not so updated like Russian version? In Russian version, problem-set analysis is already given, but in English version its not up yet.

google translate is making me sick..

:(

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

    It's only the problemsetter's blame. When you're preparing contest (It takes at least several days!) you can easily find 30 minutes to write and translate analysis to English. When I was author, for me it seemed something necessary and obvious, and I don't understand, why such delays happen.

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

hacked by hackers

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

I am new on codeforces.com and how add friend??

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

Почему в задаче В написано что запрещено использовать лидирующие нули, хотя в первом семпле ответ с нулем в начале?

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

Кому не трудно не могли бы сказать как в Задаче Е (див. 2) в этом получилось 508?

5 4 32 1 18 41 47 38 7 43 43 48 23 39 40 23 26 39 33 5 36 31 29 7 26 47

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

Codeforces Round №**130** contest duration was also 130 (02h 10m=2*60+10=130m) :)

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

There is something wrong about problem E Blood Cousins. Look this . If input is: 3 2 0 2 1 1 1 Output should be: 1 But this code will output 0.

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

There is something wrong about problem E Blood Cousins.
Look this .
If input is:
3
2 0 2
1
1 1
Output should be 1,but this code will output 0.