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

Здравствуйте!

Сегодня, 8-го апреля, состоится последний 3-й отборочный раунд VK Cup 2012. Напоминаем, что регистрация на этот раунд также необходима и завершается она за пять минут до начала.

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

Над задачами работал разнообразный коллектив авторов как со стороны ВКонтакте, так со стороны Codeforces и Саратовского государственного университета.

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

Раунд пройдёт по правилам Codeforces: с распределением на комнаты, со взломами и с обычным падением стоимости задач со временем. Раунд будет рейтинговым как если вы участвуете в чемпионате, так и если вы пишете вне него.

Из всех участников первые 50 пройдут в финальный раунд, который состоится в июле в Санкт-Петербурге.

Пожалуйста, чтобы раунд для вас был еще интереснее, прочитайте условия ВСЕХ задач.

Успехов!

UPD1:

В редакции для Див. 2 будет использована динамическая сложность задач http://codeforces.com/blog/entry/4172. Задачи будут упорядочены по возрастанию предполагаемой сложности, но баллы за них будут определятся на основании доли решивших их.

UPD2

Доступен разбор: Разбор

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

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

Разбалловка стандартная?

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

в редакции для Div. 2 опять будет только две Div.2-задачи? в прошлый раз C была сложной для стандартной С второго дивизиона, боюсь, что в этот раз все будет еще сложнее.

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

Which will be the score distribution for the tasks? :-? 500-1000-1500-2000-2500 ?

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

good luck for everyone!

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

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

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

    English translation?

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

      I could only get the first three pics (using google translate, nothing special: I really can't get a word of Russian). The first says: "Join here in Codeforces". The second: "You! You've got to get on the top-300". Third: "You -- on the top-50"

      I can't really understand the last one. Any hint?

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

        "Слиться" = "to fail".

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

        Here is my translation:

        1. I log in Codeforces.
        2. Here I must be in top-300.
        3. There I have to be in top-50.
        4. And where I can fail?

        I hope it'll help =)

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

      Approximate meaning: 1)I enter Codeforces 2)Here I need to get in Top-300 2)Here I need to get in Top-50 4)When will be the round which I can fail?

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

    You can ask me how to fail!

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

    он наверное уже икает)

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

the official contestants and unofficial contestants will be divided in Div1?(a question of room)

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

Что случилось с таймерами на странице соревнований? В таблице и в правой части страницы таймеры расходятся.

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

    перенос... 5 минут...

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

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

      "Не хватило 5 наносекунд, чтобы зарегистрироваться :("

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

    У меня один таймер справа сходится, а второй расходится (показывает на 5 минут меньше), потому что второй таймер — это время до окончания регистрации.

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

Ещё никогда не было так ссыкотно перед началом раунда...

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

"Динамическая сложность задач" — это, наверное, очень опасно :))) Боюсь представить такое, точно не для Div. 2 :D

"Динамическая стоимость" все-таки больше похоже на правду :) Ну это так, придирки :)

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

Реквестирую обратный отсчет до раунда в правой части этой страницы.

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

Division 2 problem A: I wonder when the input is: 3 10 1 1 1 Answer should be -1 isn't it? Because 3.333333*3 != 10 and the problem statement said "there were b milliliters poured in total. That is, the bottle need to be emptied;" But the problem setter's answer is 3.333333

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

    Then, I think, you should give answer with more than 6 digits after the comma. 3.3333333*3 = 9.9999999. The difference then will be 0.0000001, while allowable deviation is 0.0000005 I guess, since the answers are rounded to the nearest number with 6 digits after the comma.

    Тантай уулзсандаа баяртай байна, by the way :)

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

    i think the answer is not -1 Because, actually, there is a way to seperate the 10 cola. 10/3 for every bottle. Remember, our real world is continuous! but for computer, because of the accuracy problem, we cannot express 10/3 in fraction, so the answer is 3.333333. The answer is not precise, but it doesn't mean "no solution"

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

    I have the same doubt. I challenged with 3 5 1 2 3 with hope of the correct answer is -1, but the official solution gives 2.666667 1.666667 0.666667 Apparently, 2.666667+1.666667+0.666667 is NOT equal to 5 in maths. Computers can't do float arithmetic accurately but that's not the point here, the problem is the result is not consistent with the statement, i.e, the bottle can't be empty at the end with such/any physically feasible distribution. In fact, 11/3 is not a finite fraction, while 11/4 is.

    So I think this problem is of flaw.

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

Мда, начало на 20 минут позже это печально:(

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

Расскажите как C (div 2) решать :)

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

    Запустим DFS из всех единиц. Потом транспонируем граф и запустим из всех двоек. Если какую-то вершину можно посетить и из единиц, и из двоек, то выводим 1.

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

    Я пробовал решать через стек с извращенствами, но додебажить не успел :-(

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

      Я пытался через дерево отрезков, но то ли лыжи не едут, то ли я дурак :)

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

        Думаю можно, если дерево считает число нулей на интервале(Не успел написать).

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

          можно еще хранить минимумы на отрезке.

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

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

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

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

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

          5

          2 1 2 1 2

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

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

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

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

            Вытаскиваем 2, кладем 1, запоминая, что отрезок для 1 начался с первой позиции.

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

      кажется все или почти все решали через стеки.

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

        И похоже только я, дурак, решал через рекурсию с SQRT декомпозицией, для нахождения минимумов.

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

          Не ты один, только у меня дерево отрезков -.-

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

    ищем минимум на отрезке, увеличваем весь отрезок на столько. Запускаемся рекурсивоно от обеих частей?

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

      Это синдром слишком умных решений, стеком за линию можно =)

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

    Как я решал. Есть некая функция, которая запускается от отрезка [l, r]. Она находит минимальный элемент A на этом отрезке. После чего выводит A раз l r. Затем она запускается от двух отрезков [l, i — 1] и [i + 1, r], где i — индекс элемента A. Ну а минимум на отрезке я искал с помощью дерева отрезков.

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

    Можно решать деревом отрезков. Будем идти слева направо и удалять все отрезки, началом которых могла быть текущая ячейка. Дихом перебираем правую границу. Понятно что все ячейки, который мы уменьшим на 1 должны быть больше нуля. Это и будет нашим критерием поиска. То есть ищем такое наибольшее R, min(a[L], a[L + 1], ..., a[R]) > 0 Теперь уменьшим каждое из значений на это интервале на 1. Повторяем тоже самое, пока наша левая граница не ноль. Двигаем границу вправо.

    Не писал, но вроде похоже на правду=)

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

    C (div 2) Обозначим за da[i] = a[i + 1] — a[i]. Если da[i] > 0 ставим da[i] открывающихся скобок с пометкой i + 1, если меньше нуля — da[i] закрывающихся с пометкой i. Проходимся по новому массиву со скобочками стеком, на открывающуюся скобочку пихаем её в стек, на каждую закрывающуюся выводим индекс текущей и той, что на вершине стека в ответ

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

Что-то задачу С решили все, кому не лень, а у меня ни одной идеи, как её решать. Поделитесь решением?

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

Как С решать? Пытался пропихнуть MinCostFlow, TL 7 претест.

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

    А как её сводить к mincostflow?

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

      Рассмотрим цепочку рёбер capacity = k, cost = 0, для каждого отрезка [l, r] — ребро r->l capacity = 1, cost = -c. Только учитывая, как её посдавали, кажется, решение там реализационно проще и наверное баян... :(

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

    Я долго — долго кодил свой МКМФ, получил ВА 4, долго искал баг, а в конце послал е-максовский. 30мс. Впрочем, зная кто делал тесты, я не очень сильно надеюсь:)

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

      я МКМФ писать не умею, взял е-максовский, ВА3. видимо у меня настолько кривые руки, что я не смог готовое прикрутить...

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

        я больше никогда не буду создавать указатели на объекты внутри векторов

        я больше никогда не буду создавать указатели на объекты внутри векторов

        я больше никогда не буду создавать указатели на объекты внутри векторов

        я больше никогда не буду создавать указатели на объекты внутри векторов

        я больше никогда не буду создавать указатели на объекты внутри векторов

        да, и оно все равно не прошло, TL7...

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

          Что за указатели на объекты внутри векторов?

          • »
            »
            »
            »
            »
            »
            12 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            vector< obj > vec;
            vec.push_back( obj(123) );
            obj * p = &vec[0];
            

            вот так делать нельзя

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

              Для этого итераторы используются.

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

                А итераторы не развалидируются при реаллокейте?

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

                  Развалидируются. Не нашел сходу пруфлинк, но уверен, что где-то читал об этом.

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

                  Ну вот и я насколько помню, там хранится внутри тупо указатель

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

            Объекты, находящиеся в векторе, могут перемещаться в памяти при изменении размера вектора. Сам попадался :(

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

      Зная, кто делал задачи почти уверен, что в D решение за n*k*2^k, только с оптимизом ;)

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

        Вроде можно за (бинпоиск по диаметру) * (сложнсоть вершинного покрытия в двуольном графе из 1000 вершин).

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

          А как граф двудольный получить? Там же могут быть и тройки вершин у которых попарные расстояния > d. Вроде получается вершинное покрытие в произвольном графе.

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

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

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

          Ну я попытался пропихать следующее: посортим все пары по расстоянию Получаем граф, нужно сделать покрытие k вершинами на как можно больше первых ребер. Дальше я толкал оптимизацию вида "отсекать по времени, а выбирать в ребре первой ту, которая лучше выглядит". Функцию "лучше выглядит" написал совсем плохую, и меня повалил 20ый претест.

          Upd. Да, еще написал эвристику, которая режет размер графа до "не очень много" — алгоритм с ошибкой не более, чем 2 раза, запущенный до 2k.

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

        Утверждается, что оно за logN * 1.6 ^ N. И это боян с РОИ-2010.

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

          ЮграНефтеТранс ?

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

            Именно. Тут, правда нужен довольно-таки очевидный бинпоиск, чтобы к югренефтетрансу свести.

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

          Тем не менее почему-то у тебя все равно TL ;-) А авторское решение работает за 0.2...

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

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

            Сразу видно твою задачку: правильное решение никак не заходит :(

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

              Да не правда, что не заходит)

              Может, ты внутри бинпоиска граф не уменьшаешь до размера K^2 ребер? :-)

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

        UPDATE: Описанное здесь решение неверно.

        Вроде бы есть решение задачи D за O(N^2 logN logR).

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

        Очевидно, что круг всегда можно расположить так, чтоб хотя бы две вершины лежали на его границе. Перебираем одну из этих вершин в качестве центра. Далее приклеиваем к этому центру наш круг и пытаемся его вращать. При вращении отслеживаем события: точка вошла / вышла из круга, отслеживаем кол-во точек внутри круга. Таким образом, такое вращение делается обработкой событий за O(N logN). На каждой итерации бинпоиска надо это сделать для N центров, отсюда итоговая асимптотика.

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

          Диаметр множества != минимальный диаметр содержащего его круга.

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

            Упс=) и правда. Значит я что-то не то решал...

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

      Тьфу( Великолепно. Называется — "копипасьте не думая и проходите на финал"

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

        Копипастить надо было думая...

        Меня чето дернуло искать код в гугле по "min-cost max flow source code". Взял вторую ссылку, вроде то что надо. Прикрутил — чето не работает даже на сэмпле первом. Пока сидел разбирался где что не так время прошло... Только недавно заметил, надпись в описании "ALL COSTS MUST BE NON-NEGATIVE!" :)

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

          Дейкстру или Ливита вы тоже копипастите? minCostFlow это же Дейкстра, запущенная на несколько раз.

          P.S.
          Я придумал решение и написал без копипаста за 13 минут.

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

      Копипаст к слову, запрещён, кажется

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

        Прошу прощения, я имел в виду — мой код, который я сам написал, лежит у меня на винте, и только по странной случайности полностью совпадает с кодом с сайта е-макс.ру. Оговорился, так сказать:)

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

    MinCostFlow. Только вершины графа — не работы, а сжатое время.

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

      Аа, я, кажется, понял. Каждая работа — это ребро из s в s+t стоимостью -c.

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

      Именно на эту часть идеи я потратил больше часа... :(

      А так — это на самом деле известная задача теории расписаний, которая почти наверняка баян.

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

Can anyone give some hint(s) for problem C? Thanks :)

Looks like it's mincost maxflow, what a surprise :(

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

    MinCostFlow. Vertex is a time, and work is a edge with capacity=1 and cost=-C. We need to find minimal cost flow not greater than K. V~1000, E~1000 and you even don't need Dijkstra's algorithm with potentials.

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

Interesting name selection : Variable, or There and Back Again or "The Hobbit, or There and Back Again" :D

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

Не надо было решать B может тогда успел бы D (

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

А можно как-то тесты посмотреть целиком, необрезанные?

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

Что за массовый прям повал решений B Div 2? O_o. Задача вроде чисто на технику... :-(

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

    да и B div1 чуть не у всех красных упала.

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

      И главное у всех на каких-то разных тестах...

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

        А я вот у себя багу нашел. Обидную. N на 2 умножаю, а массив с миллиона до двух не увеличил...

        А 15ый, по ходу — первый большой тест.

        Если после исправления пройдет, будет очень-очень обидно.

        P.S. 1503947 08.04.2012 21:48:17 LeBron B — Древние берляндские иероглифы GNU C++ Полное решение 830 мс 48192 КБ Да ну его в баню...

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

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

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

    Судя по-всему, в ней много подводных камней. Достаточно не рассмотреть один случай — и падение гарантировано(у меня она тоже упала).

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

    Почему не проходит следующее решение?

    1. Проверяем что до первой точки нужное допустимое количество букв.

    2. Проверяем, что после последней точки допустимое количество букв.

    Рассмотрим строку, которая находится между двумя точками. Её длинна — l: 2<=l && l<=11. Если это не так — тогда NO Потом в зависимости от длины строки выбираем подходящую длину для расширения предыдущего файла и остаток — длина имени следующего файла. И так проходим по всем разделённым строкам.

    UPD: Черд, неверно проверил первый случай..

    if (! (1<=pos && pos < nameLength)) {
         out.println("NO");
         return;
      }

    вместо

    if (! (1<=pos && pos <= nameLength)) {
         out.println("NO");
         return;
      }
    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Все так, только надо еще, чтоб была хотя бы одна точка, а то что-то вроде "ab" после стандартного сплита пройдет все эти проверки

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

Problem C — Hate!

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

А тут есть правило про то, что если не все из топ50 поедут на онсайт, то приглашаются следующие участники?.. :(

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

    а есть правило, что участник, занявший первое место во внеконкурса, все равно приглашается на онсайт? :(

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

    Да, так и будет. Другой вопрос, что если участник сольется слишком поздно, то будет сложно позвать кого-то из Китая.

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

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

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

Какой-то унылый раунд получился...

Да и проходной балл на финал не впечатляет.

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

    А мне понравился. A и B — просто приятные задачи ad-hoc, которые я написал на удивление быстро. С — минкост, который, опять же, придумался мгновенно, правда, кодился больше часа (я не сразу догадался раздвоить вершины и не понимал, в чем дело). Да, задача в каком-то смысле бородата, но аккуратная реализация все-таки требовалась. Я вообще некоторое время боялся, что это не должно заходить, потому что первая итерация Форда-Беллмана уже должна ТЛиться, а то, что изначально граф ациклический, я заметил только после конца контеста. Геом тоже ничего, вполне решаемый, но вместе с минкостом у меня на него тупо не хватило времени.

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

      Ваня, это не геом... Это перебор :-) Ну не умею я геометрии придумывать. То жадность, то перебор, то структуры данных выходят.

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

        То, что придумал я, было кучей сложной геометрии и абсолютно полиномиально. Что-то вроде решения со сканируещей окружностью, которая крутится вдоль одной точки на границе, как писал кто-то выше. Я еще не мог понять, почему k такое маленькое. Зря я не подумал, что задачи от бурундуков :)

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

          Видимо "кто-то выше" это Степа Гатилов. Ему уже ответили, почему его решение не работает...

          P.S. Если сдашь за полином, расскажи обязательно. Я не умею =(

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

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

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

    Проходной балл довольно адекватен, по-моему.

    Как раз почти нет тех, кому хватило A+B.

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

When will be our ratings updated?

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

А почему у meret попытка по 3 игнорирована?

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

Спасибо за контест, понравились задачи. Динамическая стоимость задач — очень хорошая тема, большое спасибо за то, что ее придумали. Теперь кратко о задачах:
А — милая задача, простая, но можно было залажать, сразу написал, все ок. Хотел поломать на ней, но когда посмотрел на неоправданно длинные коды своих соседей по комнате, стало как-то лень.
B — интересная и тоже не особо сложная задача, но с некоторым количеством подводных камней, благодаря которым она у меня благополучно упала. Подводные камни это, конечно, хорошо, но мне обидно)
C — почти сразу увидел решение с рекурсией и поиском минимума на отрезке, в основном все время решение задачи бился с непонятно откуда взявшимися багами в дереве отрезков, в итоге отдебажил и нормально сдал.
D — минут 5 втыкал, пытаясь понять, что от меня просят в задаче. Когда понял, конечно, сразу побежал писать DFS, но до транспонирования графа не додумался, решал странно и длинно, благодаря чему запутался в решении и так и не смог найти ошибку. А жаль, ведь задача тоже не особо сложная.
Е — не успел посмотреть :(

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

Всем привет! Спасибо авторам за очередной интересный контест. А теперь вопрос по рейтингу (непринципиально, но интересно).

На предыдущем раунде, который я писал (cdf 113 div 2) я занял 119 место и мой рейтинг был 1667.

Сегодня на Неофициальной редакции удача была благосклонна ко мне, и я занял 4-ое. Рейтинг стал 1704.

Могу ошибаться, но, как-то маловато. Помнится, за 34 место дали +67, а тут за 4 место +37. Обидно=)

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

    Меньше участников да и ты теперь по круче :)

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

    Зависит от "стартового" рейтинга, а не только от места. Про систему Эло не слышали?)

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

      Слышали, но вспоминая предыдущие скачки рейтинга, появился этот вопрос. Так или иначе, не столь важно, думаю, то, что решил задачи важнее=) Спасибо за ответы!

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

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

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

      Как же теперь динамическая система без Вас?

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

Михаил Расихович, найдите и удалите пожалуйста хотя бы 8 читеров!!!=)))

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

    Ага, сейчас начнут дисквалить всех у кого код с емакса))))

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

    Если бы копирование решения задачи 643 с олимпа или копирование минкоста с e-maxx считалось бы читерством — тогда запросто) Однако, по-видимому, не считается.

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

    Я уже попробовал этим заняться :) (поискать читеров), но тут есть одна проблема — у многих решения по C очень похожи, но дисквалить на этом основании нельзя, т.к. у них там prewritten code + 5 строчек. Так что вся надежда на то, что кто-нибудь из 17 китайцев откажется.

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

Объясните нормальное решение второй.

Я записал первую строку 2 раза, построил для полученной строки соответствующую последовательность s[i]=ps[a[i]], т.е. поставил в соответствие каждому символу строки его позицию во второй строке.

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

Оно работает... но... это как-то слишком сложно для меня.

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

    Идем последовательно по символам строки a и ищем их позиции в строке b. Если позиция текущего символа меньше позиции предыдущего — увеличиваем ее на длину строки b. Потом идем двумя указателями, чтобы разница в позициях не превосходила длину строки b.

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

      Да, спасибо, так намного понятней)

      Легко показать, что у меня то же самое в итоге, только реализация через одно место (вот эта точка спада, например — это как раз то самое увеличение на длину b).

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

У меня почему то задача A в Div2 валится на тесте 9, у меня на компе все ок, в тестирующей выводит -1, что за фигня? http://codeforces.com/contest/174/submission/1498429

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

    у тебя b примерно равно 0 кажется, сравнение может быть неточным.

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

It's one of the most thrilling match that I have played.

In the first half hour, I did really stupid things(Misunderstand the Problem A, and then make 7 wrong try), and get very inpatient. Then I found 30+ minutes pasted and my A got only 180pt, it was really desperate.

Fortunately, I came up with the solution just after reading the problem B. And for problem C, I got very sad when I found it was a very classical min-cost-max-flow problem . I have just re-installed my OS, and I haven't copy the code-library. So it costs me about 10 minutes looking for my code in TC.

And the most thrilling part is waiting the result. My rank was 67 before start testing. When my code is running, I got very intense.

Lucky, I passed 3 problems, and advanced. :)

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

I think that the tests for the task B are too weak. I resubmited my solution 2 times, whilst the first incorrect version passed: http://pastebin.com/EztLGpMY .

Counterexample:

7 7

20 1 2 3 4 5 6

10 11 1 4 5 2 6

it returns 2, whilst correct answer is 3.

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

Все мне на кодефорсесе нравится, кроме Рейтинга, как то странно он себя ведет, получается чем дальше тем сложнее проскочить из div2 в div1, у меня такое ощущение что сумма рейтингов остается после каждого раунда та же что и была, но тогда возникает ситуация что в div2 рейтинга становится с каждым раундом меньше, а div1 больше.

  • p.s. Достаточно просто посмотреть сколько людей в сегодняшнем раунде вышли в div1 я на первых 2 страницах насчитал таких 7.
  • p.s.2 При этом такое ощущение что при одинаковом наборе решенных задач (надо учесть что для div2 надо решить правильно еще и простые), люди стремятся совершенно к разным рейтингам, то есть в div1 можно вырасти намного больше чем в div2 при том же наборе решенных задач.
  • p.s.3 Все это было мое личное мнение, но тему рейтинга я считаю актуальной для обсуждения.
  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Если ты не можешь более-менее стабильно решать все задачи Div.2, зачем тебе Div.1? Просто для повышения ЧСВ?

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

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

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

        Я просмотрел вашу историю соревнований с lisang. Так вот, за все время вы ни разу не решили все 5 задач во втором дивизионе! Так зачем возмущаться-то? Почему-то обычно люди, которые решают хоть как-нибудь стабильно 4-5 задач во втором диве не ноют в ветках, а все время слышно только недовольство таких как вы: "Мы не можем выйти в первый див, а все потому, что формулы расчета рейтинга неправильные, или фаза луны не та."

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

      Может чтобы готовиться к Финалу ICPC? ^_^

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

        О каком финале может идти речь, если человек не может решить 5 задач во втором диве? Позориться туда ехать?

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

          Предлагаешь отказаться? :)

          Не думаю, что это удачная идея...

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

            Я предлагаю не отказываться, а желающим — тренироваться. Просто лично мое мнение таково — если человек не решает стабильно 4-5 задач во втором диве, то он может и должен тренироваться именно там, ибо в первом диве он в лучшем случае будет решать 1, максимум 2 задачи. Как слив в первом дивизионе может помочь попасть на финал, мне не ясно.

            Да, надо тренироваться с более сильными людьми. Это факт. Но, ведь получается, что и во втором диве есть довольно много сильных участников относительно таких Eugen и lisang.

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

              Может кто-то в команде пишет только потоки да геометрию, а в Див2 он совершенно небоеспособен.

              Всё-таки ICPC не КФ.

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

                Имхо, участник, претендующий на попадание в финал, должен уметь все на более-менее хорошем уровне.

                Может кто-то в команде пишет только потоки да геометрию, а в Див2 он совершенно небоеспособен. — У такой команды есть шансы попасть на финал? Это же убого, очень даже. И мне кажется, тем более, что Всё-таки ICPC не КФ, это проблемы этого конкретного человека.

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

        В любом случае, CF — не ресурс для подготовки к ICPC. Хотите потренироваться — тренируйтесь командой где-то в другом месте. Все таки, как я понимаю, у CF два основных назначения: 1. Личные соревнования и тренировки к ним 2. Написания контестов just for fun — для тех кто испытывает драйв от этого

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

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

      Я говорил не только о себе, я говорил вообщем о системе и о используемых формулах. Более того, очень хотелось бы получить ответ от тех кто имеет какие то за/против, такой системы.

      p.s. Про вклада я думаю многие уже говорили, но я вкратце скажу свое фе: я считаю не нормальным когда вклад может от -35 до +35 скакунуть от 5-7 плюсов, и наоборот.

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

посылка 1499207 — вердикт ВА4, хотя ответ и вывод совпадают. не мог бы кто-нибудь пожалуйста объяснить в чем может быть дело?

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

    У тебя выводятся лишние пробелы в конце

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

Can somebody please give the test 22 for the task A (it would be even better to get the shorter version of it)?

Edit. Ok I found easier counterexample for my solution, no need for this test now.

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

Кстати, давно (начиная с первого раунда) хотел спросить: а зачем авторы во всех раундах делали такие неприлично сильные претесты? Челленджей за все 3 рауна O(1). Если это такой хак, чтобы превратить правила codeforces во что-то другое — то не проще было это напрямую сделать?

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

    Челенджей, конечно, мало. Но вот падали люди пачками. И на раунд 2, и на раунд 3.

    А что такое сильными? Например, да, мы обычно включали какой-нибудь случайный большой тест. Но "случайный большой" — не тоже самое, что "макстест" ;-) Или в сложных задачах (D,E) я старался включать пару крайних случаев... Но вроде, людей решивших D или E на обоих раундах не много.

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

      Ну челленджи-то обычно на простых крайних случаях происходят, а в претестах все крайние случаи были покрыты. Пример: сегодняшняя B, случай "ответ равен длине первой строки". В этом месте очевидно можно набажить (двигая 2 указателя, сделав полный круг), и этот случай зачем-то был в претестах. Вот не было бы его там — можно было бы от души почелленджить, т.к. народ вполне себе на этом падал.

      Просто обычно претесты не слишком отличаются от семплов, и челленджи идут гораздо активнее :)

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

        По некоторым задачам претесты делал я... Про такие задачи могу сказать только: мало я наверное в codeforces участвую, плохо пока знаю обычаи :-)

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

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

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

Господа. Я безумно извиняюсь, но... посмотрите эту посылку на задачу D div 2. там между коментариями есть код, который в определённом случае (а именно на тесте 39) выдаёт в качестве кода возврата длину строки из входных данных, которая не имеет право быть больше 400000, однако код возврата равняется 400002. Если кто-нибудь сможет объяснить почему так происходит и почему моя программа не проходит 39 тест буду очень признателен.

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

    Почему-то eoln не срабатывал в коде. Если добавить проверку на входящие символы и переставать читать как только дойдём до первого символа не точки и не латинской буквы. Но почему eoln не проходил?

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

      Возможно, длина строки делится на 80? Вроде был какой-то спецэффект с этим в дельфи. Возможно, в более старой версии

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

      Ещё эта посылка ссылка. На первом претесте у меня на компьютере выдаёт: 1 1 1 1 На сервере выдаёт 0 0 1 1 Куда копать?

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

        В эту добавил вывод промежуточных результатов и программа стала выдавать правильный ответ. Убираем вывод промежуточных результатов и ответ опять неправильный. Мистика какая-то на серверах.

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

          Продолжаю монолог. Проблема в оптимизаторе Delphi. Если компилить в Debug режим то выдаёт всё правильно, если в release — неправильно. Надо было добавить директиву {$W+}.

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

So I just fixed my time out in B... By switching from cin to scanf... (and now I pass with 0.7s worst time).

Guess the big input warning was missing in the warning. I find this very strange though, cause I don't remember having issues with 10^6 inputs before. Maybe it is that all the ints are in the same line and cin uses some sort of buffer for lines? I have no idea.

But I think that making a non-bugged linear-time solution was interesting enough, The problem was fun without having to resort to scanf to optimize input time. I see no point in not using 10^5 as constraint for this problem. Also, I think that problems with 10^6 input should have at least a 3 seconds limit to compensate how it seems that at least 2 seconds are spent in i/o when using cin/something other than C instead of scanf :/

But it is

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

    Maybe now judge machines became faster, but I remember that before even 10^5 integers were causing time limit when reading by cin>> .

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

    IMHO, time limit for this problem is too strict. O(nlogn) looks reasonable for n=10^6. But I couldn't make it pass even with faster IO.

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

    Same thing happens to me ... tle for using cin ... may b psetter should b little more responsible to give warning in such kind of huge input limit .

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

    It's common knowledge that in order to use cin for big inputs you have to use: ios_base::sync_with_stdio(0); This 1505453 is your submission with this line added.

    The limit of 10^6 is entirely normal for such a problem. Maybe it was also meant to rule out slow O(n log n) solutions.

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

      And what is the point to rule out O(n log n)? I actually have a hard time thinking of a problem in which banning logarithmic factors actually made the problem more interesting rather than more annoying. (This effort to add artificial difficulty to B seems strange considering how they left a standard Max Flow problem in C).

      If they want to enforce scanf or esoteric common knowledge, that's fine but they should at least include the usual warning about that.

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

        That is a more philosophical discussion (and, for example, problems on TopCoder are much different in this regard from ACM or CF). I believe that authors may choose to require a faster (asymptotically or practically) solution from the participants if they believe that it is important for the problem. In fact, time limits are often chosen so as to rule out programs with too high a constant (time limits on CF are actually quite loose most of the time, but make sure to visit CodeChef for some really painful series of TLEs ;) ). That being said, differentiating between O(n) and O(n log n) is very hard, because an nlogn solution with a FastIO implementation (own i/o parsing, much faster than scanf) often runs faster than a vanilla O(n) implementation. But there usually is a real difference between O(n log^2 n) and O(n log n).

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

      Thanks for the common knowledge anyway. It is amazing but this makes cin faster than scanf (makes sense seeing how it does the "%d" part in compile time). I guess the issue is that you cannot use scanf anymore, not going to miss it.

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

Уважаемые организаторы, насколько я знаю, на многих чемпионатах в случае отказа от поездки на финал, на финал пригалашаются следующие за ними участниками. Будет ли такое на VK Cup?

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

Почти на всех VK раундах такие задачи, даже из числа простых, что читаешь и думаешь — вот же чушь за уши притянутая, а потом получается — вот же красивая задача! Вобщем, сегодняшние задачи очень понравились!

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

Ok, so now how do we get our T-shirts? XD

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

    VK Cup Round 3 participants can be divided into 3 groups:

    1) "When our ratings will be updated?"

    2) "Ok, so now how do we get our T-shirts?"

    3) "When we will get our tickets to final?"

    :)

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

      I guess there should have the fourth group

      4) If some competitors above us are unable to go to finals, can we get replaced?

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

When should we expect the editorial?

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

I wonder that who take charge of this contest. Who is the administrator that we can talk to?

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

    There is an "in case of any questions" e-mail address in the finalist form.

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

Question to needing-visa finalists: Has any of you received invitation letter yet?

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

Почему сейчас я не могу послать решение? Задача А
Выскакивает вот это http://savepic.org/3164790.png

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

Does there any dp solution exist of problem C (Machine Programming) for small constraints? Someone please give hints for dp solution.

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

https://codeforces.com/contest/164/submission/78511593

plz check what's wrong in code. plz help to find out logical error.