Блог пользователя e-maxx

Автор e-maxx, 13 лет назад, По-русски
Привет, кодефорсчане!

Этот очередной, 50-й по счёту, раунд Codeforces провожу я, Макс Иванов (e-maxx).

Приглашаю на него всех школьников, только что вернувшихся из ЛКШ.Зима - чтобы не давать лишней передышки своим мозгам, а студентов - чтобы отвлечься от всех забот-хлопот, связанных с таким страшным явлением как Сессия :)


Контест окончен, в этот раз никому не удалось сдать все задачи.

Поздравляем победителя RAVEman!


Разборы задач:



Условия:

Задачи этого раунда - это пять историй из жизни одного Ёжика (не удивляйтесь, просто ёжики - мои самые любимые существа :) ).

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

13 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
Сначала обрадовался. Думал, будет чем вечером заняться. Когда увидел время - расстроился. :)
  • 13 лет назад, # ^ |
      Проголосовать: нравится +7 Проголосовать: не нравится
    ну хотя б дорешай - лучше будет, чем в старик резаться ;)
    • 13 лет назад, # ^ |
        Проголосовать: нравится +2 Проголосовать: не нравится
      Согласен. Да он уже надоедает. С ботами - не интересно. А четвертого нету. Видимо, отложим до следующих праздников. :))
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Проснулся за пять минут до контеста и не успел зарегаться =(
13 лет назад, # |
  Проголосовать: нравится +21 Проголосовать: не нравится
Надеюсь 50-ый юбилейный контест не пройдет с обнаружением нового 200го юбилейного бага:)
Всем удачи!:)
13 лет назад, # |
  Проголосовать: нравится +2 Проголосовать: не нравится
Пожалуйста продлите регистрацию до начала...
  • 13 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +2 Проголосовать: не нравится
    Спасибо, что отложили начало контеста... Пожалуйста, дайте регистрацию! Я всегда регаюсь перед контестом, дабы не быть ещё одним дохляком в комнате на случай непредвиденных обстоятельств (допустим не могу участвовать). А тут сервер анэвэйлибл!
13 лет назад, # |
Rev. 2   Проголосовать: нравится +7 Проголосовать: не нравится
Очень грустно, что сервер падает в последние минуты регистрации :(
Хотя зарегистрировано всего 650 человек..
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Oh,NO!
When I remember this contest, I opened this website but it said it doesn't work.
Now the registration is closed.
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
good luck !
13 лет назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится
Наверное, пост надо вывести на главную? Очень непривычно не видеть его там:)
13 лет назад, # |
Rev. 3   Проголосовать: нравится +2 Проголосовать: не нравится
Хмм, ссылка с русскими условиями выдает 404 
UPD: сглазил :)
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Задача B. "Про сравнении кусочки разрешается поворачивать, но не переворачивать".
Если я один кусок поверну против часовой стрелки, а другой по часовой (а можно ли это делать?), то не будет ли это равнозначно тому, что я переверну первый кусок?
  • 13 лет назад, # ^ |
      Проголосовать: нравится +12 Проголосовать: не нравится

    Нет, раз вращать можно, то значит можно.

    И спрашивать лучше в интерфейсе участника, а не здесь.

  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Более того, мне кажется, это бессмысленно - это эквивалентно тому, что одну повернуть по часовой стрелке, а другой - три раза по часовой стрелке, итого - всё эквивалентно двум поворотам второго куска.
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Админы, вы что-то обновили во взломе?
Вроде на последнем раунде меня не просило обновить флеш, а сейчас просит. :( *сидит из универа без админских прав и расстраиваеццо*
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Хорошие претесты по C. *THUMBS_UP*
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Ставлю пять баксов, что моя D упадёт. :)
  • 13 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится
    Моя 100% упадет. Я даже специально ее заблокировал, чтобы правильными тестами парочку человек завалить. К сожалению, тест придумать не смог :)
13 лет назад, # |
Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится
Упс. Извините, хотел пожаловаться на баг в интерфейсе, но, как оказалось, ложная тревога :-[
  • 13 лет назад, # ^ |
    Rev. 4   Проголосовать: нравится +1 Проголосовать: не нравится
    Да и тестирование, видимо, ещё не началось.
    UPD: Пока писал это сообщение - началось. :)
    UPD2: Какой-то баг с редактированием комментариев.
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
когда системное тестирование начнется?

13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Is this a bug? After submitting a problem, my name was shown on the last line of the first page of the scoreboard and showed the points for that problem. After submitting two more problems and locking them, the scores were no longer shown but had '+' signs instead: http://tinyurl.com/4t9edk7
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    It seems fine... when you view a page on which your rank is not there... you only get to see your cumulative points and which problems you have submitted. Not individual scores of each problem.
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Я смотрю и следующий контест будет в 11.00. На мой взгляд, старое время проведения - в 19.00 гораздо лучше. Можно позже делать в рабочие дни, но днём... В чём смысл и идея проведения контеста в такое время? Многие работают ведь уже. Да и с точки зрения участия иностранцев, тоже, помоему, не самое удачное время.
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    По просьбе организаторов ЗКШ эти раунды совмещены с олимпиадами школы.
    • 13 лет назад, # ^ |
        Проголосовать: нравится +1 Проголосовать: не нравится
      Я это расцениваю как дискриминацию работающего населения :)

      Мало того что для школьников полно отдельных олимпиад, так еще и
      общие раунды под них подгонять.
      • 13 лет назад, # ^ |
          Проголосовать: нравится +4 Проголосовать: не нравится
        Есть предложение следующий раунд сделать как обычно, в вечернее время.

        Это издевательство над студентами. Думается, что большинство людей на этом сайте - это как раз они - студенты (ну может, еще и школьников много). Администрация так и не объяснила, почему же так странно выбрано время, зачем это вдруг координировать контесты с ЗКШ.
        • 13 лет назад, # ^ |
            Проголосовать: нравится +3 Проголосовать: не нравится

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

    • 13 лет назад, # ^ |
        Проголосовать: нравится +3 Проголосовать: не нравится
      А нельзя-ли как-то провести контест для ЗКШ отдельно (незаметно для остальных пользователей сайта), а в вечернее время для всех?
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Баг в отображении решения MBabin задачи D: баллы за решение не зелёные и жирные, а синие и нежирные.

Лог сдачи:
01:19:15  Полное решение [финальные тесты] → 245768
01:59:15  Неправильный ответ на претест 1 [претесты] → 246225

Похоже, так будет, если после успешного сабмита не пройти претесты: цвет будет от последнего сабмита, а баллы — от последнего плюса.
13 лет назад, # |
  Проголосовать: нравится +15 Проголосовать: не нравится
Возможно участникам было бы удобно видеть к надписи «Системное тестирование» время последней проверенной посылки. Что-нибудь типа «Системное тестирование (01:12, 72%)»
  • 13 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится
    Согласен, тоже сегодня во время контеста об этом подумал. Можно даже без процентов. Хотя бы знать, через какое время обновлять, а не сидеть носом в таблице и ждать. Я думаю, что это нововведение будет не таким сложным, достаточно просто выводить время последнего проверенного сабмита.
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
epic fail:( 
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
What about problem solutions?
13 лет назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится
Спасибо, Максим, за контест. Сегодня задачи были какими-то сложными для понимания. Я вообще себя чувствовал ребенком, который читает что-то умное и непонятное. В конце концов, благодаря взломщикам, я сдал 4 задачи и продемонстрировал своим рейтингом самый большой Epic Fail за свою жизнь.
  • 13 лет назад, # ^ |
      Проголосовать: нравится +12 Проголосовать: не нравится
    Именно проблема в понимании условий? Казалось бы, многие задачи имеют вполне естественную постановку
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Вторая задача :)
    • 13 лет назад, # ^ |
        Проголосовать: нравится +12 Проголосовать: не нравится
      Тут скорее дело в моей невнимательности. Не сделано сильного акцента в задаче D на то, что не должно в других местах быть вхождений - я это и не прочел. Вообще задачи, конечно, шикарные. Просто больше текста, чем обычно. Видимо нас разбаловали.
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Маленький баг. Во время системного тестирования по двум посылкам во вкладке мои посылки показывался вердикт "претесты пройдены" вместо "в очереди" и по одной вместо "попытка проигнорирована"
13 лет назад, # |
  Проголосовать: нравится +12 Проголосовать: не нравится
Very nice questions! Could not decide weather to try C or D and wasted too much time :P Eagerly waiting for the solutions. :D
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Три часа назад я думал что контест этот завалю, думал что если хотя бы синим останусь то уже здорово будет.

А теперь я жеелтыыый =) Большое спасибо за контест!

13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Вопрос на счет задачи Е. Каков будет ответ, когда пылесос имеет форму равностороннего треугольника? С точки зрения здравого смысла, таким пылесосом можно пропылесосить всю площадь внутри угла, но если рассматривать только положения пылесоса, "запирающие" некоторую площадь внутри угла, то ответ больше 0.
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Прикооольно, я сдал на дорешивании D с алгоритмом, истинность которого не понимаю. Скажите, почему, если только вставленные с единичек паттерны не конфликтуют сразу, подстроку с любого нуля всегда можно запороть, причём тупо жадно?
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    а что насчет
    4 2
    aa
    101
    ? Получается строка "aaaa", которую уже никак не запорешь.
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Мда, правильно, у меня ответ "No solution". Значит, я не понимал не только алгоритм, но и саму программу %)
      Значит, почему если запарывается как-то, то запарывается жадно?
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        а какая именно жадность?
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Бежим слева направо. Для каждого нолика бежим дальше направо и смотрим, как только ячейка уже заполнена, причём неправильно, значит уже запороли, если же ячейка свободная - вставляем туда, очевидно, либо 'a', либо 'b'. Если вдруг для какого-то нолика так пробежали на всю длину имени, а там везде всё правильно заполнено, то всё, "No solution".
          • 13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            К этой задаче очень сложно делать тесты. Возможно, Ваше решение неправильно (выглядит оно левенько :) ). У нас тоже было одно решение, которое завалить стрессом не получилось, хотя выглядит оно очень подозрительно. Опишу чуть позже в разборе задачи D.
            • 13 лет назад, # ^ |
                Проголосовать: нравится +5 Проголосовать: не нравится
              Хм, ну это странная какая-то политика... Ладно, я понимаю, невозможно сделать тесты, которые свалят все неправильные решения, но если уж есть одно подозрительное, то вроде как надо бы с ним разобраться: либо придумать контрпример, либо доказать, либо просто не давать эту задачу.
              • 13 лет назад, # ^ |
                  Проголосовать: нравится 0 Проголосовать: не нравится
                Ну вообще по задаче есть более чёткое решение с префикс-функцией, лично мне оно в первую очередь и придумалось. А уж по поводу этих нечётких решений - это уже дело участника, насколько он уверен в себе, чтобы писать какое-то такое левое решение. Тем более, может быть, какие-то такие жадности доказуемы? Тем интереснее эта задача, имхо
                • 13 лет назад, # ^ |
                    Проголосовать: нравится 0 Проголосовать: не нравится
                  Ну я, допустим, такую чушь писал не от уверенности в себе, а от нехватки времени в конце =)
                  Задача, конечно, интересная. Но лично я за то, что любой контест должен быть хорош как подготовка к полуфиналу и финалу ACM, соответственно всё должно быть максимально похоже. И вот тут, кстати, нетривиальный вопрос: а какая там политика по нечётким решениям? Раньше я думал, что они их категорически рубят, а сейчас не уверен...
                  • 13 лет назад, # ^ |
                      Проголосовать: нравится +5 Проголосовать: не нравится
                    Бывают решения, которые жюри не может ни доказать ни опровергнуть. От этого откладывать задачу? Конкретно в этом случае, Максим и Артем делали стресс-тест, который работал ночь и даже более. Кроме того, в отличии от ACM на Codeforces существуют взломы, которые являются еще одним рубежом для прохождения решения. 
                    • 13 лет назад, # ^ |
                        Проголосовать: нравится -9 Проголосовать: не нравится
                      Ну, на Ваш вопрос, как мне кажется, правильный ответ - да, откладывать. То есть я бы сам так сделал, если бы готовил контест. Но я прекрасно понимаю, что давать советы проще, чем делать самому. Я понимаю, что авторам жалко времени, потраченного на задачу, тем более что всё чисто на добровольных началах, поэтому - всем большое спасибо, контест получился интересный.
                    • 13 лет назад, # ^ |
                        Проголосовать: нравится -18 Проголосовать: не нравится
                      Хотя, подождите, я только что вспомнил, кажется, самый приемлемый вариант. В условии задачи делается пометка, что существует пока что не доказанное, но и не опровергнутое решение. После контеста это решение выкладывается, а участникам предоставляется право придумать контрпример. Если этого никто не сможет сделать в течение, скажем, пяти суток, то всё в порядке, в противном же случае раунд признаётся нерейтинговым, а автор убийственного теста получает плюшку (как вариант, например, +50 к рейтингу).
                      • 13 лет назад, # ^ |
                          Проголосовать: нравится 0 Проголосовать: не нравится
                        не, мне кажется что будет слишком много возмущенных из-за нерейтингового 
                        раунда
                        • 13 лет назад, # ^ |
                            Проголосовать: нравится 0 Проголосовать: не нравится
                          Ну тогда не скидывать рейтинг, а просто пометка в условии и просто плюшка лучшему тестеру.
13 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится
Доброе утро! а что, был контест?
13 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

Спасибо за интересные задачи!

Появился вопрос по B: Почему при равных площадях мы должны выводить кусочек с большим X?

В условии сказано: "Сравнение производится в первую очередь по площади XY одного элемента, во вторую очередь — по длине X."

А как именно производить сравнение по X не сказано (или я чего-то недопонимаю). У многих, тех кто выводил с меньшим X, решение падало на 7 тесте.

  • 13 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится
    Нужно выводить с меньшим X. По крайней мере так в моем сданном решении.
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Взгляни на 7 тест (более того твое решение отнюдь не сданное:WA32)
      • 13 лет назад, # ^ |
          Проголосовать: нравится +3 Проголосовать: не нравится
        Я сдал после контеста.
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Да, вы правы выводить нужно с меньшим X (я нашёл у себя ошибку, странно, что это моё решение прошло тесты). Но всё таки в условии желательно это писать явно.
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Только прочитав этот комментарий, я узнал, что надо было не минимизировать X, а максимизировать! У меня естественно WA 7.
    • 13 лет назад, # ^ |
        Проголосовать: нравится +3 Проголосовать: не нравится

      Я полагаю надо было как раз минимизировать...

      Моя ошибка была в том, что когда я смотрел ячейки размером например 2*3 я преобразовывал их в строчку и кидал в сет. Но это не совсем правильно, ведь строчки могут получиться одинаковыми, при этом ячейки нельзя будет повернуть так, чтобы они совпали.

    • 13 лет назад, # ^ |
        Проголосовать: нравится +5 Проголосовать: не нравится
      Ваше решение, которое получает WA 7 не минимизирует X:

      Написано:
      if (bestX == -1 || bestX * bestY > x * y || bestX * bestY == x * y && x > y)

      Должно быть:

      if (bestX == -1 || bestX * bestY > x * y || bestX * bestY == x * y && bestX > x)
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Да, спасибо, вот это я как раз сейчас и прочитал.
    • 13 лет назад, # ^ |
        Проголосовать: нравится +5 Проголосовать: не нравится
      Прочитал свое решение и понял, где я идиот. Беру свои слова обратно.