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

Сегодня состоится финал 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
  • Проголосовать: не нравится

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

»
14 лет назад, скрыть # |
 
Проголосовать: нравится +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.

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

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

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

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

»
14 лет назад, скрыть # |
 
Проголосовать: нравится 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 ?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • »
    »
    14 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +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.

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

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

      • »
        »
        »
        »
        14 лет назад, скрыть # ^ |
         
        Проголосовать: нравится +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.

        • »
          »
          »
          »
          »
          14 лет назад, скрыть # ^ |
           
          Проголосовать: нравится 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

        • »
          »
          »
          »
          »
          14 лет назад, скрыть # ^ |
           
          Проголосовать: нравится -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?

        • »
          »
          »
          »
          »
          14 лет назад, скрыть # ^ |
           
          Проголосовать: нравится +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.

          • »
            »
            »
            »
            »
            »
            14 лет назад, скрыть # ^ |
             
            Проголосовать: нравится +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 :)

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

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

  • »
    »
    14 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 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.

    • »
      »
      »
      14 лет назад, скрыть # ^ |
      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.

      • »
        »
        »
        »
        14 лет назад, скрыть # ^ |
         
        Проголосовать: нравится +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.

    • »
      »
      »
      14 лет назад, скрыть # ^ |
      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.

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

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

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

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