Автор RussianCodeCup, история, 2 года назад, По-русски,

Всем привет!

Чемпионат Russian Code Cup 2015 приближается к финишной прямой. В ближайшее воскресенье 14 июня в 13:00 состоится отборочный тур RCC-2015. В отборочном туре примут участие 604 лучших по итогам трех квалификационных раундов — борьба была такой напряженной, что в первой и третьей квалификациях 200-е место оказалось поделено, и в отборочный раунд прошло по 202 участника.

Обратите внимание, что отборочный тур длиннее квалификационных и продлится 3 часа.

По итогам отборочного раунда 200 лучших раунда получат фирменную футболку наших соревнований, а топ 50 участников пройдут в финальный раунд и получат возможность сразится за ценные призы. Финал состоится 19 сентября и, как и в прошлом году, пройдет онлайн. В соответствии с правилами соревнований в финал могут пройти только те, кому на момент проведения финала исполнится 18 лет.

Приглашаем квалифицировавшихся принять участие в отборочном раунде, а всех остальных поболеть за своих друзей на сайте http://russiancodecup.ru!

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

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

Рассылка об отборочном раунде за пять минут до него — это пять!

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

Не могу залогиниться. http://www.russiancodecup.ru/crosslogin/ не отвечает.

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

Кто-нибудь дайте условия.

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

Все Пётр первый! :)

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

    Кстати как вам идея добавит смайлики в комментариях?

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

10 минут до конца... как же тяжело ожидание...

И самое интересное то, что я не понимаю, почему моя программа по B работает. Она ищет ответ, если его нет — выводит No. Если No программа не вывела, значит она нашла ответ. Я решил дополнительно проверить этот ответ на правильность. Проверяю и если ответ неверный — делаю return 1 (ну чтобы заслав, убедиться, что ответ действительно неправильный). По логике вещей, если ответ неправильный, то значит логика поиска ответа неправильная. Но на самом деле, если ответ неправильный, это значит что ответа нет... Изменив return 1 на вывод No — зашло.

И еще будет очень обидно, если меня выкинут из топ200 только из-за двух дебильных посылок с WA1 и PE2

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

    Минута до конца... ну за что вы так со мной, за что!

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

    Кстати, если решение зашло, то оно уже не будет перетестироваться? Зачем тогда отсылать то, что уже Accepted

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

      Я и не посылал то, что уже Accepted, а то засчитали бы это за попытку еще. Мне очень трудно было получить этот Accepted, и он получился случайно... я был уверен, что если зашлю, то будет WA, ибо скорее всего я просто неправильный ответ нашел.

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

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

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

        Во-вторых мне бы тут не пригодилось, я изначально писал всё так, чтобы ТЛ не было)

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

Объясните новичку, почему этот код заходит на MSVC, но получает TL2 на g++? Задача Е, да.

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

    Та же ситуация, ловил ТЛи на g++ (хотя локально не смог найти теста, где работало бы больше 0.8), а потом, памятуя о магической способности вижака под виндой рвать g++ в разы, решил перепослать под MSVC, и сдалось.

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

    Я в E проассертил, что у меня ТЛ не ТЛ =) наверное у тебя примерно тоже самое.

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

      Что-то типа того. assert(n > 100000) в конце кода благополучно упал.

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

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

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

        Все-таки это ботва какая-то, а кому надо из оргов репортить о таком?

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

    Хотел спросить, известна ли особенность, что на RCC g++ плохой. Видимо, неизвестна.

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

      мне кажется, что это какая-то ботва конретно на этом раунде была с ним, а не в принципе.

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

      Под виндой все плохо. Я когда-то заливал задачу, у которой авторское решение под MinGW работало очень долго, под MSVC в несколько (в 7-10) раз быстрее было. В общем считывание и, предположительно, декструкторы STL'евских коллекций все тормозят. Причем так было не только на инвокерах, а на моем ноуте такая же фигня под виндой и MinGW наблюдалась.

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

        Я уже как-то писал. Думаю, у вас просто сборка mingw неудачная какая-то используется. Если проблемы с ней известны, может не стоит ее продолжать использовать? Кроме того, 4.8.x вроде еще в 2014-м обновили до 4.8.4, ясно же, что исправили много багов со времен 4.8.1.

        Можешь найти то решение (у которой авторское решение под MinGW работало очень долго, под MSVC в несколько (в 7-10) раз быстрее было)?

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

          Я полагаю, дело не только в сборке, а еще в sandbox, в которой run.exe запускает. Локально я время измерял тоже им.

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

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

          Миш, кстати, про сборки. У тебя есть 64-битная сборка 4.9.2+, в которой не тормозит stdio?

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

            Я такую не искал, у нас вроде везде 32-х битные используются.

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

        У нас на отдельных машинах бывали проблемы с инвокерами плюсов, мы так и не разобрались, в чем дело. Суть была примерно следующая: объявляется vector<int> v[100000]; и получается TLE.

        Upd. Я предполагал тогда, что проблема примерно в том же, почему F5 и Ctrl+F5 запуск в вижаке существенное разное время работает — что-то вроде проверок кучи при/после деаллокации памяти.

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

        Насколько я знаю, в 64-битном компиляторе g++ 4.9.* проблема с медленным stdio, которая в следующих версиях останется. А проблемы с STL -- это проблемы именно настроек инвокера, а не компилятора.

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

213( Без понятия, почему В не заходит=(

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

Есть подозрение, что по задаче E рантаймы временами отображались в вердикте как ТЛ.

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

Последние две минуты выкинули с TOP-200. :((
203 футболок PLZ :D

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

А с какого момента результаты можно будет считать окончательными?

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

Отдам бесплатно свою футболку первому в ответах на это комментарий.

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

Как первую задачу то решать?

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

    перебор)

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

    Ищем все числа x и y, чтобы n — 2 * x — 3 * y == k, и 2 * x <= кол-ву нолей, и 3 * y <= кол-ву единиц, а потом прибавляем к ответу (a + b)! / (b! * a!), где a — текущее кол-во нолей, b — текущее кол-во единиц.

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

    Данные две перестановки 0-1 позволяют из любой строки получить любую другую с таким же количеством 0 и 1. Перебираем кол-во нулей cnt0 в результирующей строке, смотрим можем ли мы стереть лишние нули по два и единицы по три, если можно до добавляем к ответу C(k, cnt0)

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

    Перебрать количество ноликов в конечном числе, если такое количество ноликов и единичек допустимо, то добавить к ответу C(k, количество_ноликов)

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

Задача D про числа Каталана?

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

    Да. И так как в C# нет подходящей структуры, я писал декартово дерево, чтобы решить задачу :D

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

    Кому как, я ее за 20 минут написал, а следующий час она у меня была про RE5.

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

      А в чем проблема оказалась с RE-5?

      UPD: У меня был StackOverflow, увеличение стека вылечило проблему

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

      Ну блин, я готов нецензурно ругаться. В тренировки решение заходит на ура, что наталкивает на мысль, что проблема была связана с RCC GCC. Я, конечно, может сам дурак, что за час дебага не догадался отправить под другой компилятор, но я как-то не привык, нет у меня такого опыта. Это вдвойне обидно, учитывая, что до этого фейла я хорошо шел по турниру и мог претендовать на финал. И втройне обидно, так как после этого эйфория кончилась и на Code Jam я уже тупил.

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

        Кстати да, у меня то же самое. Я дописал строчку #pragma comment(linker, "/STACK:160777216") и отправил в тренировку, зашло, а теперь после вашего коммента отправил свое оригинальное решение, которое я отправлял на контесте, и оно тоже заходит без этой строчки. Видимо, это разница в общих настройках компилятора/линкера.

        Но тут сами виноваты, нужно было читать параметры компиляции тут. На кодфорсесе немного по-другому

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

        И вообще, жизнь пошла под откос после этого.

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

        ОНСАЙТА ВСЕ РАВНО НЕ БУДЕТ

        А так я бы, может, тоже поругался, потому что абсолютно уверен, что у меня задача Е не получает OK на одной из посылок исключительно из-за проблем инвокера GCC (там sort на 10^6, 10^8 операций деления и 10^6 обращений к priority_queue не уложились в 5 секунд). Просто обожаю проблемы со средой в тестирующей системе без пробников.

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

          Ну вот на счет пробника вы погарячились, ведь был "тренировочный раунд warm-up".

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

    Yes,I solve it by catalan numbers

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

    Можно чуть поподробней? Что такое числа каталана на e-maxx я прочитал. Я вот как их применять к задаче?)

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

      Если все приоритеты равны, то ответ — число каталана.

      Дальше не очень сложно понять, как решать

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

Давненько я на плюсы не переписывал...

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

Объясните как решать B.

Если образно я делал следующее:

  1. Проверяем что граф у нас двудольный и красим каждую из вершин в цвет доли.
  2. Теперь у нас есть несколько компонент, у i-ой компоненты ai и bi вершин в каждой из долей. Теперь надо выбрать какие из долей каждой компоненты идут в какие команды. Это я делал используя динамику T[кол. игроков в первой команде] = [индекс последней доли, которую добавили].

UPD:

Вердикт Wrong Answer

Ошибка в динамике, пришлось переделать следующим образом:

T[i][s] = номер доли 0/1 компоненты с номером i , при которой достигается количество игроков в первой команде s, если брать только компоненты с номерами от 1 до i. Ошибкой было то, что необходимо взять обязательно все компоненты. Такая ошибка получается, когда есть компоненты, в которой одна из долей пустая.

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

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

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

    У меня долгое время был WA с таким решением, потом я понял, что неправильно написал динамику. И в конце концов решил просто проверять финальный ответ, действительно ли он правильный, и если нет, то просто вывел No и зашло.

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

У кого-нибудь были проблемы с отправкой решения за 1,5 минуты до конца контеста?

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

Я выиграл 4 футболку на этой неделе :]

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

Думаю в задаче Е нужен rejudje всех посылок на Visual. Сам не сдавал но думаю у многих были проблемы с g++.

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

    Почему вы так думаете? Там какая-то особенная проблема из-за gcc есть?

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

      Да, есть. Одно и то же решение под g++ и под студией получает разные вердикты.

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

        Я на Тимусе наблюдаю то же самое. Но в данном конкретном случае больше всего тормозил вывод, когда переписал его вручную — прошло (на g++).

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

Уважаемые организаторы! Это сообщение не призвано перекинуть на Вас вину за то, что я забыл об олимпиаде и начал ее писать со второго часа.

Однако хочу заметить, что напоминание, присланное за 5 (пять, Карл!) минут до раунда нафиг, простите, никому не надо. Оно не нужно тем, кто и так помнит. И мала вероятность напомнить тем, кто забыл — я не сижу постоянно дома и не проверяю почту постоянно. Как, думаю, и большинство.

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

    Хаха, та же история ;) Только я вообще писать не смог :)

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

    В прошлом году пропустил из-за этого.

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

    Мне письмо пришло за 6 минут, но я тоже пропустил :(

    Хотя, наверно, это повлияло только на распределение футболок :)

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

На сайте RCC появились тесты, но при переходе по ссылке выдаёт 403 Forbidden.

UPD: Тесты доступны. Кто-нибудь зальёт тренировку?

UPD2: А, нет, показалось. Архив битый выложили.

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

Думаю, будет честно, если количество футболок увеличат до 205.

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

    Лучше до 324, а еще лучше до 604 :)

    Ну а так, согласен

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

      По-моему нужно 605, решил одного человека без футболки оставить?)

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

        Я что-то пропустил? В отборочном туре примут участие 604 лучших по итогам трех квалификационных раундов

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

          А в табличке 13 страниц, на 12-и по 50 участников, на 13-ой — 5.

          12 * 50 + 5 = 605 вроде как.

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

Добавил соревнование в тренировки: 2015 Russian Code Cup (RCC 15), отборочный раунд.

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

Я прошел на онсайт находясь на 23-м месяце службы в армии!!!

P.S. Сделав сабмит за 10 минут до конца и с 50го места)

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

    Позравляю, но не хочу расстраивать, ноФинал состоится 19 сентября и, как и в прошлом году, пройдет онлайн.

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

      Вот треш. Так хотелось на онсайт. RCC11 на котором я был, был просто супер. Остается надеяться на хороший приз и на то чтобы втиснуться в топ10)

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

      Ну, письмо с результатами раунда содержит такую фразу: "О формате и времени проведения Финала мы сообщим вам отдельно в ближайшее время."

      Можно быть оптимистом и понимать её так, что может всё же онсайт будет, хотя бы в формате "все собрались в офисе мейлру, написали контест и разошлись" :)

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

        Ну, мы год назад писали финал в Яндексе вместе с sankear, какое-то количество питерцев во главе с lperovskaya у себя где-то собирались. Можно устроить свой финал RCC с блекджеком и плюхами самостоятельно, например, в том же Яндексе (выходной же?)...

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

    А почему так долго-то? 23 месяца

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

Поменял часовой пояс на США, а календарь этого не понял и напоминание пришло только сейчас.

Рассылка после начала также порадовала.

Грусть, профекапил 3 футболки из четырех в этом году.

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

Чекер к задаче В не проверяет, что номера команд в ответе участника — это числа 1 или 2. Можно вывести хоть 3, хоть 10, хоть что либо ещё.

Вот пример посылки 11586653, которая за счёт этого генерирует ответ на тест, где его быть не должно (возможно, для её просмотра требуется тренерский доступ в тренировках).

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

    Начинаешь волноваться за сохранность своей почты после таких ужастиков

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

Когда пришлют сертификат?=)

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

Разбор нашел: Тык