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

Всем привет!

Напоминаю, что 9 марта в 12:00 начнется второй квалификационный раунд чемпионата VK Cup 2012.

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

Раунд продлится 24 часа, но это не значит, что мы призываем вас все это время провести за решением задач. Мы надеемся, что большинство участников справятся с задачами (или с большинством задач) за более короткий срок. Такая длительность раунда выбрана для того, чтобы каждый нашел удобное время для участия.

До окончания раунда категорически запрещается публиковать где-либо условия задач/решения/какие-либо мысли и соображения о них. Запрещено общаться на тему задач, обсуждать условия и проч. Будьте честными и пусть в Раунд 1 пройдут сильнейшие. Когда квалификация будет завершена, можно будет обсуждать задачи и решения.

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

Желаем удачи и удовольствия от решения задач!

UPD: Тестирование завершено, проходной балл равен 3500 3450. Поздравляем всех, кто прошел в Раунд 1!

UPD 2: Мы удалили явных читеров и проходной балл уменьшился до 3450!

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

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

Насколько я понял, те 1000+ человек, которые прошли Квал1, они сейчас не участвуют?

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

Я правильно понимаю, что из первой квалификации прошло больше 800 человек? Т.е. у 800 места было 4000 баллов, а людей набравших 4000 и больше было более 800.

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

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

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

скажите в графе мои посылки. Прога прошла претесты но в графе время написано 340 мс. и в графе память написано 67000 Кб. Это сколько затрачено в сумме на все претесты?

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

Если на претесте в задаче D 2670мс, то все плохо?

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

Вторая квала, по сравнению с первой — халва по ходу.

Сколько времени от начала прошло, а еще даже 800 проходящих участников не набралось.

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

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

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

      задачи по моему сложнее.

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

        Думаю устроители это сделали чтобы получить по итогам второго тура более разрозненную палитру результатов в сравнении с первым. Чтобы прошла не ~1000, а число более похожее на 800

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

        Скорее всего, многие скажут, что я не прав и ничего не понимаю, но на мой взгляд, первая же задача, то есть А, здесь, по сложности, на уровне задачи Е в первой квалификации.

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

        Хотелось поспойлерить, рассуждая о сложности, а потом понял что контест не завершен еще. Но все-таки да, сет выглядит сложнее, и как-то непривычно (относительно первого) получать 420мс максимального времени. Даже возникает дилемма — оптимизировать алгоритм еще, или забить, надеясь, что запас времени еще большой :)

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

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

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

            юзайте запуск, там написано сколько работает

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

            Не надо винить серверы, надо писать правильные алгоритмы. Серверы тут очень быстрые, 10^9 сложений за 2 секунды только так заходят, как помню из прошлых раундов. Вон в четвертой задаче куб зашел.

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

              Как думаешь за какое время будет работать это?

              #include <iostream>
              using namespace std;
              int main(){ 
                for(int i=0;i<1000000;i++){ 
                   for(int j=0;j<1000000;j++); 
                } 
                return 0; 
              } 
              

              Можно узнать почему так?

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

                Мгновенно. Компиляторы нынче умные :)

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

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

                Этот код, думаю, выполнится за ~ 0 мс — оптимизатор должен почуять, что циклы пустые и выкинуть их.

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

                  Просто столкнулся с этим на контесте. И жутко хотелось узнать, что это за магия.

                  P.S. Сплю и вижу как вас высмеиваю =)

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

                  Тогда немного странно, почему такой вопрос задается именно в эту ветку.

                  Похоже, вынужденное общение с анонимусом заставляет во всем видеть троллинг...

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

                  Я ещё слишком синий, чтобы троллить оранжевых =)

                  UPD В эту ветку написал так как вы напомнили о мощности сервера =)

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

              в 4 задаче скорее в тестах дело

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

Не могу отослать задачу, выводится сообщение: "Вы должны быть зарегистрированы на соревнование для просмотра страницы". В списке участников есть, зарегистрироваться, естественно, не получается.

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

    Есть две регистрации: на весь VK Cup и собственно на квалификационный раунд. Уже, наверное, третий десяток подобных вопросов пошел.

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

Imho. It Would have been nice if people that are old, obsolete and maybe at the gates of death were allowed to participate unofficially like in those division2 sets. Oh well.

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

Извините, можно вопрос, в прошлый раз я писал код с методами Readln/Writeln, и они нормально проходили. Сейчас попробовал сделать через input.txt/output.txt, но решение не прошло, ошибка времени исполнения. Разве нельзя входные/выходные данные задавать в текстовых файлах? Я искал в FAQ но ответа не нашел. Среда — Delphi.

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

Подскажите как получить задачи? Я слепой наверное на сайте в первый раз, на соревнование зарегистрировался — ссылку на задачи 10 мин найти не могу!

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

интересно какой проходной балл будет в этот раз

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

Какая скорость у тестирующей машины? К примеру, сможет ли сервер сделать 200 * 106 умножений с плавающей запятой за 3 секунды?

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

Печаль :( Эти конкурсы помогают осознать насколько ты туповат :( Решил задачу С — 4мя способами, и все не проходят 4 претест по времени :( Про первую вообще молчу, не пойму почему ответ неверен...

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

If someone has the chance to advance to the Round 1 in the qualification round 1, if he join the second qualification contest, whether he can affect others ranking?

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

Так как соревнование уже закончилось, можно обсуждать задачи. Кто-нибудь может рассказать решение Е?

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

    Я разбивал сначала на группы по цветам (использовал хеши). Затем для каждой группы перебирал все группы, в которых количство кубиков меньше или равно количеству данной и вычислял максимальную длину для этих пар. Быстро вычислить длину можно, построив массив, где x[n] — длина первых n кубиков, отсортированных по убыванию. Претесты по крайней мере прошло :)

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

      Если перебирать для каждой группы группы с весом меньшим, или равным данной, то получается сложность около O(M*M), где M — количество различных цветов. Как вы оптимизировали её, чтобы пройти тест, где все 100 тысяч цветов различны?

      P.S. Если я неправильно оценил сложность, напишите пожалуйста и её.

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

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

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

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

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

            Не совсем так. Я перебирал все группы по цветам (количество кубиков текущей — n). И для каждой перебирал группы с количеством кубиков m <= n. Тут уже перебирал не все группы, а только одну — с максимальной длиной (высотой) для количества кубиков m.

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

              Таки не прошло такое решение — превышено время на 12 тесте.

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

                Очень простое решение, состоит из некоторых очевидных фактов:

                1. пусть в ответе есть num кубиков цвета c (ну и еще какой-нибудь цвет). Утверждение: эти самые num кубиков максимальные из всех с цветом c.

                2. выпишем тройки следующего вида (sum, num, c), означающие, что если мы возьмем num кубиков цвета c, то максимальная сумма равна sum. Утверждение: количество таких троек равно O(n), а даже ровно n.

                3. Сгруппируем все эти тройки по величине num. Утверждение: для фиксированного num из всего множества троек с этим num нам нужно лишь не более двух троек с максимальными sum, то есть два максимума, все остальные бесполезны и мы их выкинем.

                4. Переберем k — сколько мы возьмем кубиков некоторого цвета, тогда другого цвета (не теряя общности) мы должны взять или k или k - 1 штук. Утверждение: раз мы для каждого k оставили не более двух максимумов, то можно перебирать втупую.

                Очень простое и короткое решение, реализовать можно за O(n·log(n)).

                http://mirror.codeforces.com/contest/159/submission/1337673

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

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

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

    Я так решал. Допустим C1 — количество кубиков цвета c1, C2 — количество кубиков цвета с2. Если С1<C2, то максимальное высота из цветов c1 и c2 будет получатся если в начале положить самый большой кубик из c2, а потом чередовать c1 и c2, пока не закончятся кубики в c1. Брать кубики надо в порядке убывания их размера. Если C1=C2, то максимальная высота из цветов c1 и c2 — сумма всех кубиков в c1 и c2. Единственное, что т.к. числа большие в задаче — в начале подсчитать возможные высоты кубиков из одного цвета для каждого цвета для первых i(1<=i<=Cn) кубиков и отсортировать кубики в порядке убывания. Не забываем сохранять ссылки на оригинальные данные, т.к. выводить надо в том порядке, в котором дано.

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

      У вас тоже сложность O(M*M), где M — количество различных цветов? Контрпример я привел выше. Все кубики разных цветов, n=100 000, N^2 не влезает в ограничения.

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

      Не прошёл по времени 15 тест. У меня на компьютере при 100000 различных цветов программа работала 10 сек. Я понимал что это долго, но умнее ничего придумать не мог. 4 задачи решены. 5 — провал. Пойду чертежи чертить. Работа не ждёт. Всем успехов!

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

    Я написал тупое ДП.

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

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

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

      Опечатка, наверное вместо "Для каждого веса" надо "Для каждого цвета". А можно поподробнее насчет идем по количеству кубиков в половине башни?

      P.S у меня тоже была опечатка) А у вас вроде, второй абзац, первое предложение.

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

        Не нашел, где у меня написано "ка**дж**ого цвета".

        Идем по i, где i — количество кубиков одного цвета, составляющих половину нашей башни (условно половину). Тогда, чтобы получить целую башню, нам нужно добавить еще [(i — 1) || i || (i + 1)] кубиков. Среди всех таких значений выбираем максимальное.

        Если непонятно, могу еще подробнее объяснить.

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

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

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

            Да, решение получилось неэстетичным :)

            Главное, чтобы прошло.

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

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

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

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

                я не жюри, но мне кажется мое эстетичным

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

    Не знаю, пройдет ли мое решение, но вроде должно.

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

    Для башни мы всегда берем все кубики того цвета, кубиков которого меньше, и столько-же, или на единицу больше(если есть) кубиков другого цвета.

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

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

      А если все кубики различного цвета? По времени же не пройдёт

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

      Наверное не пройдет, сложность O(M*M), где M -количество различных цветов. Если все цвета будут различны, то вы получите ТЛ. Похоже много кто писал именно так.

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

        Я для каждого кол-ва кубиков считал максимальный и предмаксимальный набор кубиков какого-то цвета и потом смотрел для кол-ва i разные варианты из кубиков другого цвета по i и i+1 кубику( предмаксимальный набор нужен для того чтобы не попасть на один цвет кубиков. В итоге сложность тратится только на сортировку — N*log(N)

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

        M always will be less than sqrt((10^5)*2)!

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

    E довольно просто решается. Сгруппируем все кубики по цветам, для каждого цвета посортируем кубики по размеру по убыванию. Сами группы посортируем по убыванию размера групп. Заведём глобальный массив MaxSize[] где i-тый элемент это максимальный размер группы (изначально установим все элементы в минус бесконечность. Теперь пройдемся по всем группам по порядку. Пусть мы дошли до группы i. выполним два действия для нее
    1) Идём по массиву кубиков в группе и нарасчиваем сумму размеров кубиков в префиксе curSum, пусть сейчас в префиксе j элементов,

    res = max(res, curSum + MaxSize[j - 1]);
    res = max(res, curSum + MaxSize[j]);
    res = max(res, curSum + MaxSize[j + 1]);
    

    2) снова пройдемся по массиву кубиков считая сумму на префиксе и обновляя значения в MaxSize, MaxSize[j] = max(MaxSize[j], curSum) Вместе с обновлением ответа можно запоминать номера групп для вывода в конце всех использованных кубиков.

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

И решение D пожалуйста

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

    D я решал так: Динамикой для каждой подстроки узнаем, является ли она палиндромом (сохраним это в матрице)

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

    Обойдём всю матрицу. Для каждой единичке в матрице нужно к ответу добавить количество единичек строго ниже неё. Это легко сделать, проходя по строкам снизу вверх, на ходу увеличивая количество единичек.

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

      Делал почти также. Только я динамикой считал так: C[i,j] — количество палиндромов между в подстроке [i,j]. Ответом будет сумма всех C[j+1,l] для каждого 1<=i<=l-1; i<=j<=l-1, и чтобы C[i,j] — было палиндромом.

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

    Тут близко к динамическому программированию. x[n] — количество полиндромов левее n (включая), y[n] — правее. Тогда ответом будет Sum((x[i] — x[i — 1]) * y[i + 1]).

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

    За O(N^2) я нашел все палиндромы. Пусть l[i] — количество палиндромов, начинающихся с символа i, а r[i] — количество палиндромов, заканчивающихся символом i.

    Тогда для каждого i пройдем по всем j, лежащим правее, к ответу каждый раз прибавляем r[i] * l[j].

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

    Аналогичное решение

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

    Я не заметил, что размер строки до 2000, поэтому моё решение имеет сложность N Log N и слишком длинное и запутанное чтобы поместиться в этом комментарии.

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

    Решение в лоб за N^3 тоже заходило. :D 1317753

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

      Ну это значит, что тесты плохие... Потому что, например, за строчке из 2000 букв 'a' это решение должно получать TL...

      UPD. Хотя TL 3 секунды, может такое решение и проходит... Но вообще, конечно, это странно. Мне кажется, что авторы подразумевали другое решение :)

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

А разбор квалификаций будет?

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

GREAT PROBLEMS...

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

When will system testing start?

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

мне одному кажется,что слишком много решений A упало?

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

А как в задаче С можна использовать следующий факт "изначально некий пользователь зарегистрировался под именем t, где t представляет собой строку s, записанную k раз подряд"? Это упрощает решение? Я придумал решение только для произвольной строки.

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

Можно ли будет писать Vk Cup 1 вне конкурса, если не прошел в него?

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

    Да, это будет засчитано как обычный рейтинговый раунд.

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

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

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

        Обычно те, кто пишут вне конкурса:

        • в отдельных комнатах
        • по умолчанию в списке не показваются, чтобы показать, нужно нажать что-то типа "показывать неофиц", тогда показываются все
»
14 лет назад, скрыть # |
 
Проголосовать: нравится +4 Проголосовать: не нравится

Why I can't see other participants' submissions?

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

Системное тестирование закончилось. Проходной балл заметно понизился.

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

Когда откроется дорешивание? UPD: Открылось.

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

Буду стараться больше не решать в ночью :\

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

Это нормально, что по D зашло решение за куб? http://mirror.codeforces.com/contest/159/submission/1335129

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

    Нормально, ТЛ ведь 3 секунды. Вот был бы 2 секунды, как обычно, не прошло бы это решение.

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

      Спасибо, я понял) Я имею в виду то, что авторы видимо лажанули. Решение за куб вряд ли по их задумке должно было проходить, поскольку, во-первых, оно совсем не тянет на задачу D, а во-вторых, есть решение за квадрат. Могли бы ограничение сделать, например, 5000 вместо 2000. Тогда даже при аккуратной реализации куб не пропихивался бы. А еще, в задаче D первой квалификации мое решение, в котором была очень существенная ошибка, упало лишь на самом последнем тесте. Как-то все это несерьезно, по-моему.

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

Из мыслей по C. Есть тест:

2000
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
20000
200000 a
199999 a
199998 a
...

но нет теста:

2000
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
20000
1 a
1 a
1 a
...

или я его не видел. Думаю некоторые бы на этом тесте свалились бы. Например, это.

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

Кто-нибудь может выложить тест 4 к задаче С ? Спасибо.

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

Выкладываются ли полные тесты? интересен А-10 и С-4.

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

Как нужно было решать A? B, C и D прошли, а A свалилась с WA 14

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

    Я решал с очередью, хотя это не обязательно. Берем сообщение и перебираем уже готовый список друзей, если этих двоих (отправителя и получателя сообщения) в списке нет, то проверяем все сообщения в диапазоне t(сообщения)+1...t(сообщения)+d (сообщения отсортированы), каждое новое сообщение проверяем, является ли оно ответом. Если не нашли, то не нашли, а если нашли, то добавляем друзей в список и идем дальше. Поскольку я использовал очередь, я просто вырезал два сообщения, если одно из них являлось ответом на другое.

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

    С такими смешными ограничениями перебор за квадрат выглядел прикольно)

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

    Переберем все пары. Если одно из них от a к b, другое от b к a и разница во времени ровно 1 по модулю — добавляем пару в ответ. Вроде должно заходить.

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

    В условии указано: Входные данные ... Гарантируется, что строки журнала заданы в порядке неубывания ti, и никакой пользователь не присылал сообщения самому себе.

    Никто не знает, можно ли апеллировать? 1)WA 14 возникает, если брать только последнюю беседу, которая по условию задачи должна быть с самым большим ti. 2)Полное решение, которое смотрит все переписки и все предыдущие ti (и стреди них находятся ti, которые ближе за последний)

    Я дорешивал задачу с учетом 2) на Полное решение, и снова завалился если 1) на 14 с WA.

    Если не апелляция, то хоть посмотреть на тест да исправить условие, если нужно. Хотелось бы взглянуть на 14 тест.

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

Раунд рейтинговый?

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

The testcases of Problem C is very weak. Some solutions (just like this) with time complexity O(2000 * 100 * 20000) passed. It could be easily hacked to TLE by the "reversed" test#29.

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

    Codeforce conspiracy =)

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

    So that means I wasted time implementing Segment Trees. Nice!

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

    Now the round has ended and the rules can't be changed, but for the next time it would be nice to see how can contestants create test cases (as we can't hack solutions we can find a way to add contestant-created test cases), of course it's impossible to have one test case per contestant per problem because there are lots of contestants and testing will never end if that happens but you can try to figure out how to do it so you prevent weak tests. Of course I don't think that problem setters want to create weak test cases, but it's better if instead of a few people, everyone creates test cases. I don't know how it works here in Codeforces but in TopCoder I think that successful challenges are added as system tests.

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

Очень хотел бы поучаствовать, как зарегистрироваться?

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

This competition was better than the previous, thanks to problem-setter.

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

Thanks to all who maintain this excellent site.

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

Do we have to register for Round 1 or the advancers are automatically registered?

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

Мы удалили явных читеров. Это как? как тут можно читерить?

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

Can people who didn't make Round 1 or were not eligible because of age still participate unofficially in the real Round 1 (as a rated contest)? It's not letting me register.

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

Будет ли Раунд 1 рейтинговым для тех, кто прошел в него?

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

My score in Qualifacation Round 2 is 4950. Why can't I advance to Round 1. Please tell me why?

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

А разбор этого раунда будет?

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

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

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

How did you find the cheaters? > admin

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

In the "Go to" box in VK Cup 2012 page, you misspelt "Qualifacation Round 1 Results" and "Qualifacation Round 2 Results", they should be "Qualification".

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

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

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

Hey, I can't submit for the contest VK Round 1 even though I'm unofficially registered. Are we just not allowed?