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

Сегодня состоится финал VK Cup 2012, Финал! Мы желаем удачи всем участникам, а болельщикам — насладится интересным соревнованием. На открытии финала кубка в своей приветственной речи генеральный директор "В Контакте" Павел Дуров анонсировал апгрейд призового фонда. Я начинаю по-настоящему жалеть, что я не участник! Финалисты поборются за:

  • 1 место — $30000
  • 2 место — $20000
  • 3 место — $10000
  • 4-5 места — $2000
  • 6-10 места — $1000

Удачи! Желаем только положительных эмоций. На старт! Внимание! ...

UPD: Соревнования завершено! О его ходе и церемонии закрытия, я полагаю, совсем скоро напишет Alex_KPR. Всем спасибо за участие и интерес! Вот полные результаты.

Поздравляем победителей. Тройка лидеров:

  • sevenkplus (Yuzhou Gu) Китай
  • s-quark (Qinshi Wang) Китай
  • tourist (Геннадий Короткевич) Беларусь

UPD: Как вы уже успели заметить, 16-го июля в 19:00 стартует неофициальная онлайн-версия финала VK Cup 2012. Любой желающий может принять участие и почувствовать себя на месте финалиста. Раунд будет нерейтинговым. Если вы решали или в какой-то степени знакомы с задачами, пожалуйста, воздержитесь от участия. Все задачи появятся в архиве и будут доступны всем желающим.

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

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

Да, а болельщикам задачи посмотреть-то не дали...

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

А когда результаты ?

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

А белорусы возьмут выигрыш газом?

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

    Откуда у Дурова газ ?

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

      Вообще будет обидно, если такие деньжищи "уедут" за рубеж.

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

        Какая разница в какой стране? Главное если человек заслужил, то он их получит.

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

Почему так затягиваются сис.тесты?

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

    можете сказать через сколько начнется фин тестирование?

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

      Оно уже давно закончилось. Просто результаты не оглашают до официального закрытия.

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

        Простые болельщики этого не знали =/

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

          А я тоже простой болельщик. Я только CodeGameChallange тестил и с техникой помогал. К финальному раунду я не имею вообще никакого отношения.

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

Надеюсь, администрация найдёт возможность при проведении следующего онсайта оставить доступной остальную функциональность Codeforces.

Ведь, во-первых, далеко не все посетители Codeforces интересуются VK Cup, и делать довольно большую социальную и тренировочную площадку фактически недоступной в выходные кажется неправильным.

А во-вторых, даже те, кто интересуется, не имеют возможности сделать элементарные вещи — например, прочитать правила, относящиеся к динамической стоимости задач, использованной на контесте.

Ну и ещё пожелание: вывешивайте, пожалуйста, расписание мероприятий онсайта (для интересующихся) и расписание ограниченной доступности Codeforces (для всех).

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

    Я могу понять, почему блоги закрыли — чтобы код оттуда не копировали (хотя, кто этим будет заниматься? там все приличные люди). Но вот почему задачи нельзя было посмотреть, так и не понятно. На финале ICPC вон даже разбор проводился прямо во время контеста, а тут просто почитать условия нельзя.

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

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

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

      Вряд ли блоги и комментарии закрыли из-за кода, скорее чтобы избежать нагрузки на сервер. Сейчас, например, недоступны страницы типа http://mirror.codeforces.com/contests/with/username — видимо, их просто забыли открыть. Вроде бы никакого кода в них не содержится.

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

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

      А что касается остальной функциональности — ну да, видимо перестраховались. Ну вам жалко что ли потерпеть пару часов? :-)

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

        Если об ограниченной доступности будут предупреждать заранее — совершенно не жалко.

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

Кстати по такому поводу хочется отметить, недостатки динамической системы задач.

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

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

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

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

    пфф, есть другая тактика — решить все

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

      Да? А если несколько человек решат все? В каком порядке это нужно делать?

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

      ага, а самая лучшая тактика — решить все и мгновенно.

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

      Вы можете решить все? Ну а к чему разговоры? :)

      UPD. Зеленые и синие: уберите руки от поста...

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

    Вот кстати если бы стоимость была непрерывной, то такого бы не было. Сейчас стоимость может резко подскочить с 500 до 1000, а при непрерывной подскочила бы где-нибудь с 650 до 700 или что-то вроде этого.

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

    и ещё пару камней в огород динамической системы:

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

    2. я своими глазами видел, как люди делали не проходящие претесты сабмиты, из-за этого появлялись в таблице и этим влияли на стоимость задач, т.е. фактически это означает, что добавление пары-тройки человек, получивших WA на первом претесте, влияет на стоимость задач

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

      В обычной разбаловке в отличии от динамической был случай, когда примерно одинаковое число людей решило B и C, а их стомость разная. Выходит, что они одинаковые по сложности, но повезло тем, кто решил более дорогую, что на мой взгляд не совсем правильно ( я сам такое видел ). При динамической стоимости такого бы не случилось.

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

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

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

      Да , странно наблюдать было как vlad89 опустился на 8 мест приблизитильно ничего не изменив в своем положении)

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

      Боюсь я уже когда-то это предсказывал.

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

      Вроде как любые промежуточные результаты не имеют вообще никакого значения, так какой смысл их сравнивать? Никто же не спорит, что изначально А+Б будет стоить 3000.
      Ну а финальные довольно объективно расставляют участников по местам.
      Возможно, разве что, имеет смысл делать динамическую стоимость взломов, иначе на реальном контесте может произойти что-нибудь типа вчерашнего пробного тура.

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

    ИМХО, это спецэффект такого малого количества участников. На обычных раундах всё смотрится вполне адекватно. Сам смотрел на эти прыжки в таблице, в итоге смешно, что (пока что) три 500ки.

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

      Это спецэффект нерелевантности первых N минут к финальному результату.
      Система оценивания делается не для того, чтобы было приятно следить за ходом контеста, а для того, чтобы получить финальный результат.

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

Кто-нибудь знает результаты? Хотя бы до систестов?

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

    таблица была но ее убрали http://mirror.codeforces.com/contest/211/standings

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

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

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

        Скриншота нет, но до сис. тестов tourist был на первом месте, за ним шли два китайца. yeputons, если не ошибаюсь пятый или шестой. И еще SergeyRogulenko шестой или седьмой. Извиняюсь, если что-то неправильно вспомнил.

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

        tourist был первый и единственный сдавший все задачи. Затем китайские и тайваньские товарищи.6 yeputons 7 SergeyRogulenko.

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

        Картинки в прошлой правке, т.к спойлера не нашел.

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

        1) tourist (все 5 задач) 2) sevenkplus (4 задачи + 2 успешных взлома) 3) s-quark (4 задачи) 4) ... (Китай или Тайвань) 5) ... (Китай или Тайвань) 6) yeputons (4 задачи) 7) SergeyRogulenko (4 задачи) 8) ... 9) ... 10) ... 11) dzhulgakov (3 задачи) 11) WJMZBMR (4 задачи)

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

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

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

А какие результаты то?

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

Фотография yeputons с результатами: link

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

Congratulations to 7k+ and s-quark! Thanks to VK, a very nice contest!

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

Ура кф возобновил нормальную работу.

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

    А нет не все, нельзя смотреть зарегистрированных на контест участников.

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

Ура, трансляция будет нормальной! Просмотр кодов участников закрыли!

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

    А значит ли это, что она может быть рейтинговой?

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

thought that tourist would have first place,congrats to winners and organizers for the great contest

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

VK Cup 2012, Финал (неофициальная онлайн-версия) — она будет рейтинговой? И если будет, то для обоих дивизионов, или только для первого?

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

    Очевидно что не рейтинговый и вряд ли для див2!

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

    Присоединяюсь к вопросу. Думаю, что будет нерейтинговой, но про это нигде явно не написано.

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

Congratulate to winners! This competition is really nice!I enjoyed it very much ^_^ And I'm very happy to take home a cool laptop.

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

Мне вот давно интересно — Alex_KPR стал уже официальным блоггером Codeforces или просто всегда оказывается в нужном месте в нужное время ? :-)

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

The same problem set will be given in the unofficial VK final?

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

I think there are some problems with Codeforces system after the contest. When I submit an AC solution with time 0.4s, it turn to about 1s now :-s Anybody has the same situation ?

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

Самая быстрая отправка верного решения – 20 минут. Теперь я отчетливей представляю, на сколько читерят те, что в онлайн-соревнованиии отправляют за 2 и 3 минуты )

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

    Я пробежал 1 км за 5 минут. Теперь я ясно представляю, как читерят те, кто бегут 100 метров за 10 секунд.

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

      Я один не вижу аналогии между Я и полсотни чемпионов?

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

        100 метров за 10 секунд бегут те самые полсотни чемпионов, только чуточку в другой дисциплине. Согласен, метафора не идеальна — но суть же ясна, правда?

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

    А еще там задачи сильно сложнее, чем на среднем раунде.

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

      Кэп, участники тоже не из второго дивизиона.

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

        Еще раз: задачи сильно сложнее, чем на среднем (div.1) раунде. Поэтому нет совсем тупостей вида A-B (div2 A-D), да и рассортированы по сложности были случайно, поэтому сначала все читали более-менее все задачи.

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

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

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

        Вам будет интересно посмотреть результаты решения этих задач участниками второго дивизиона. Очень интересно, в каком читерстве вы обвиняете участников, которые сдают быстро легкие задачи? Прямо-таки напомнили.

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

          Я внимательно смотрел отправки некоторых лидеров в тех codeforces-матчах, в которых участвовал. Бывали такие случаи, что код за эти три минуты можно было успеть только под диктовку напечатать. А если еще учесть факт использования 14 переменных...

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

            Вы даже живьем ни одного из лидеров не видели, а уже так глубокомысленно рассуждаете... Вот Вам в компенсацию этого видео для ознакомления с тем, как они кодят (обратите внимание на направление взгляда и звуки клавиш).

            P.S. Из-за компа ушел meret, сел и начал кодить другую задачу tomekkulczynski.

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

            Примеры в студию. И да. По поводу успеть напечатать. Многие люди печатают очень быстро. Скажем yeputons печетает значительно быстрее меня. А tourist пишет QSort за 26(28?) секунд :)

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

            Чтобы обсуждение было предметным — приведите конкретные номера посылок, которые вызывают у вас подозрение.

            Если подозрительны они не только вам, вполне можно добиться штрафных санкций.

            Если же нет — вероятно, вам объяснят, как именно можно придумать и написать такое решение за такое время.

            В любом случае, будет какая-то польза.

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

    А еще первая отправка верного решение — на 15й минуте. Но это все мелочи ;)

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

A very nice competition! I can't believe every finalist can have a laptop! Thanks to VK and congratulations to the winners!

»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Любой желающий может принять участие и почувствовать себя на месте финалиста.

А будут ли взломы?

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

Sorry to Interrupt, but will it have an editoral after the unoffical contest?

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

А будут ли смердженные результаты? Интересно было бы посмотреть на свое место в таблице онсайта. Можно, например, взять стоимости задач такие, какими они были на официальном раунде, чтобы из-за динамической разбалловки ничего не изменилось.

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

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

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

    Что-то типа такого устроит?

    Стоимости задач оставлены такими же, как на официальном раунде (каждый может считать, что эта таблица показывает его место в официальном раунде при условии, что он участвовал 50-м; так как ни по какой задаче нет 24 решений, то подобные построения корректны).

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

Крутые задачи, но все-же обидно что в Б не зашло |S|*26*log(N).

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

    У меня на плюсах в дорешке зашло за ~3700

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

    На java зашло

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

    не могу придумать решения, где был бы множитель log(n). Даже интересно стало...

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

      У меня нужно было проверить: есть-ли такая маска во входных данных. Делал бинпоиском по отсортированному массиву, поэтому и лог.
      1904874

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

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

        Ради интереса переписал за чистые O(|S| * 26 + 226) — работает за 520 мс. Но на контесте, конечно, такими оптимизациями заниматься — изврат.

        Посылка

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

        Там же должно получаться O(|S| * 26 + Q * (26 + log(|S|))), не?

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

          Ну у меня еще сорт внутри того |S|*26 то есть |S|*26*log(26). А Q * (26 + log(|S|)) у меня нету, просто О(Q).

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

Кстати, а кто как делал Е?

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

    Очевидно, что сумма a + b всегда равна n - 1. Перебираем вершину, которая не войдет в ответ, мысленно выкинем ее из графа, для каждой получившейся компоненты подсчитаем количество вершин в ней. Очевидно, что она целиком должна принадлежит одной компании, делить невыгодно.

    Дальше простая квадратичная динамика. Суммарно решение за O(n2).

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

    Заметим, что всегда можно сделать пару (1, N — 2). Т.е. всегда только одна вершина не будет содержать ресторана. Перебираем вершину, при удалении этой вершины граф разбивается на deg[v] компонент связности. Где deg[v] — степень вершины. Теперь посчитаем can[a] — можно ли выбрать из этих компонент некоторые так, чтобы суммарный размер был a. После этого can для каждого разбиения объединим. Это все посчитаем за O(N^2). Теперь для всех i, таких что can[i] = True в ответ добавляем пару (i, N — i — 1)

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

      А с битсетами это вообще за 50мс проходит. Там бы, наверное, и 40000 успело.

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

Ну и какого черта я слил round3? :)

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

А разбор устраиваем здесь?)

У меня есть идея по А. Давайте будем отделять от каждой вершины вершину с любыми t ребрами, пока степени всех вершин не будут <= t. После этого для каждой вершины, степень которой deg(v) < t, добавим в другую долю фиктивную вершину и проведем в нее оставшиеся t-deg(v) ребер. После этого добавим в меньшую долю фиктивные вершины так, чтобы количество вершин в обеих долях было одинаково, и соединим фиктивные вершины ребрами так, чтобы степень всех вершин в графе стала равной t. После этого разобьем граф на t паросочей, "настоящие" ребра i-го паросоча назначаем i-ой компании.

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

а кто как решал D? особенно интересует решение Dmitry_Egorov, потому что оно короче моего в два раза.

Я сдал решение с деревом отрезков с прибавлением на отрезке арифметической прогрессии, это слишком задротно, да? :)

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

    Можно за линию. Если перейти к массиву конечных разностей, а потом еще раз перейти к массиву конечных разностей, то арифм. прогрессию за О(1) можно прибавлять. А потом 2 раза перейдем к частичным суммам и получим настоящие значения.

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

      Хм, даблпостов сейчас уже нет, зато появились даблправки при многократном нажатии на "Сохранить".

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

        Я знаю решение этой проблемы — нажать на сохранить только раз. Ваш К.О.

        Тестирую.

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

          Маленькая проблема. Иногда ответ с сервера не приходит. Ваш -//-

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

            При нажатии на "Cохранить" у меня за 3 секунды оно обновило.

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

              Ну а у меня за 15 не обновило.

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

Thanks for the really great event. This was definitely one of the best onsite competitions I've been to.

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

    Me too, VK is really the winner of the contest of contests. VK really make everyone happy in the event, including the participant like me that not performed well at the final round.

    By the way, I found my name-card with red handle, but in fact I'm yellow. So I want to become red by the final round. But unfortunately I become more 'yellow' caused by mistakes in different problems. So it gives me a lesson: coding/thinking carefully (and maybe checking twice) is more important to the speed of coding.

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

      Based on feedback about final I can only hope that next year VK would waive age restriction

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

        Pavel Durov told us that they are not interested in giving first prizes to known hardened people like Petr, because it's not so interesting.

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

          Well, currently it leaves tourist as huge favorit (althrough we can see, from this contest as well, that luck is a big factor in onsite tournaments). Now competitors are randomly divided by age: some tops are eligible, some not, and I see no real reason behind this

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

          I don't understand what people's age has to do with their fame and "hardness" in terms of programming contests. If organizers don't want well known and strong people at the finals, why not to cut them off based on their skills? We have ratings here and at TopCoder, so let's ban all people who's rating (or its maximum value) is higher than some threshold?

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

          IMO age correlation with "hardness" is far from 1. They can make the rule similar to ACM ICPC's (i.e. <=const VK CUP finals per person), or just allow participation only to the ones who never participated in any onsite (i.e. IOI, ACM ICPC finals, GCJ finals, topcoder oncite, facebook finals, etc.). This way is much more effective for getting rid of hardened people :) Though I doubt this (getting rid of hardened people) is a very good idea.

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

            Anyway, this competition is a way for VK to look for new employees, and VK is interested in young (<=23yo) developers only. Don't ask me why: I cannot answer this question :)

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

Is there gonna be editorial for this contest or should I post solution for problem A here?

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

    I also get accepted (without seeing your solution), and it turns out that our methods are similar. I just wonder how to prove the correctness.

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

      OK, here you go.

      It’s obvious that the answer can’t be smaller than the number of nodes with degree not divisible by t. To achieve this value, every node v must have between floor(deg[v]/t) and ceil(deg[v]/t) outgoing edges of each of t colors (deg[v] is the degree of node v). Let’s construct such coloring and prove its existence by induction alongside.

      For t = 1 the result is obvious. For bigger t we find the set of edges to be painted with color t, delete this edges from the graph and continue the process for t-1. It’s easy to see that the final result will meet all the conditions. So why such set of edges for color t always exists?

      To find it, we add edges from source to the nodes of the first part and from nodes of the second part to the sink with capacity ceil(deg[v]/t) and find max flow. Now we need to ensure that lower bound condition for the flow from (or to) each node is satisfied.

      Let’s take a node v0 with flow less than [deg[v0]/t]. To increase the flow in that node, we need to find a path v0 -> u1 -> v1 -> … -> un -> vn, where nodes vi are from first part and ui from second, the edges in this path are in turn not-filled and filled with flow, and flow in node vn can be decreased (> [deg[vn]/t]). After that we just swap the flow between neighbouring edges.

      To complete the proof, we need to show that such path always exists. Assume the opposite. Let V and U be the sets of nodes from respective parts reachable from v0 by given method (from vi we take all not-filled edges, from ui all filled). Flow in each node from U equals ceil(deg[ui]/t), otherwise we could increase the total flow. By assumption, flow in each vi is <= [deg[vi]/t] and at least for one node the inequality is strict.

      Now if we count the total number of edges filled with flow between V and U in two ways — as edges starting from V, and as edges starting from U, then use inequalities listed above and the fact that [x] = floor(x) <= x <= ceil(x), we’ll get deg[V] > deg[U] for total degree of nodes. If we count the total number of edges not-filled with flow in the same manner, we’ll get deg[V] < deg[U]. This contradiction ends the proof.

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

        Good job!

        During the contest I coded the same solution without ensuring the lower bound conditions, and it failed as expected.

        Actually every iteration can be viewed as the circulation problem since we have lower bounds on flow for some edges, I've got AC this way. It doesn't give any proof that the solution always exists, though.

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

      I know a slightly different solution, which reduces the problem to Bipartite Graph Edge Coloring.

      The problem is, given a Bipartite Graph, color every edge such that if two edges meet at a vertex, they are colored different. It can be proved that the minimum number of color required is ∆, the maximum degree of a vertex. The coloring can be found in O(VE).

      For each vertex v in the original graph, we split it into ceil(deg(v) / t) vertex. The first trunc(deg(v) / t) vertex has degree t, while the last one has degree deg(v) mod t. The edges can be distribute to them arbitrary. The new graph has a maximum degree t, which means we can color the edges using t colors. The coloring on the new graph is the coloring we want.

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

http://www.siliconrus.com/2012/07/vk-cup/ я думаю что сообществу будет интересно прочитать эту статью, особенно ответ в конце

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

Раз уж поднялась тема — интересно узнать, когда планируется разослать футболки для топ200?