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

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

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

Над задачами работал разнообразный коллектив авторов как со стороны ВКонтакте, так со стороны Codeforces и Саратовского государственного университета. Мы постарались сделать всё, чтобы процесс оказался интересным, а в следующий раунд прошли сильнейшие.

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

Из всех участников первые 700 пройдут во второй раунд сразу же. Ещё 50 участников смогут выйти во второй раунд через первый Wildcard-раунд, который состоится 18 марта по необычным правилам.

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

Успехов!

Update: раунд завершился, поздравляем всех участников, набравших 1712 баллов (FatSheep) и более с проходом во второй раунд!

Update2: опубликован разбор задач: http://mirror.codeforces.com/blog/entry/4097

Update3: После удаления читеров результаты претерпели некоторые изменения. Во второй раунд проходят участники, набравшие 1684 и более баллов. Всех остальных участников ждём в первом wildcard-раунде, это последний шанс пройти дальше в турнире.

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

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

Задачи будут отсортированы по сложности?

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

Ещё 50 участников, занявших следующие за победителями места, получат вторую попытку в первом Wildcard-раунде, который состоится 18 марта по необычным правилам.

В анонсе написано, что из Wildcard'а выходит 50 учасников. Получается, все кто в него попал — проходят дальше?

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

А у меня не получается зарегистрироваться. Или это возможно, только если прошел квалификацию? p.s. я понимаю, что не могу претендовать на выход во второй раунд, хотелось бы, просто, поучаствовать наравне с другими.

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

There’s also one wish from everyone to the Authors: "Please, Make the English Statment of the problems, good and correct!"

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

Пользователь cfk два раза зареген. :D

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

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

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

ну вот, перенесли на 5 минут

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

С чем связан перенос на 5 минут?

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

Good luck ALL :)

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

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

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

    У меня тоже такая проблема.

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

    Подтверждаю :) upd: насторожило еще то, что при начале не появилась привычная табличка со ссылкой на задачи

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

      Вот-вот. Ещё настораживало, что после регистрации оставалась кнопка "Зарегистрироваться". Я даже раза три на неё нажал и раза три зарегистрировался (думал, что заявка не принята)

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

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

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

No submit option for competitors out of contest? It kind of spoils the "rated round" thing if you cannot submit.

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

    I noticed that when I hit the register button, the front screen would still say that I was not registered, but when I went into the Friend Standings area, it displayed my name. (unofficial with the * by it)

    EDIT: Did anyone else see this?

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

WTF??? I can't submit even though I am a registered user!

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

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

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

WTF??? I can’t submit even though I am a registered user! quick repair this thing

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

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

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

Исправьте, пожалуйста, это поскорее...Все же хочется принять участие.

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

Работать в воскресенье + облом со сдачей+ не рейтинговый раунд==не слишком хороший день -_-

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

i'm sure i registered the contest as an unofficially participant, but i can't submit my solution!

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

Для внеконкурсных участников раунд будет рейтинговым?

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

so it will be unrated for out-of-contest participants?

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

О-ля-ля, я забыл что теперь зимой разница по времени между Москвой и Ниццей -- не 2 часа, а 3. Печаль, печаль.

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

I think we (unofficials) can submit now, but is this unrated then?

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

Проблема решена.

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

я ломаю людей но мне пишут некоректный тест, я отправляю генератор, там спрашивают яхык , нужно выбирать язык на котором ломешь или язык которого ломаешь? и да какого чёрта тип integer берёт до 32676, я вводил все параметры большие чтобы в integer не влезало но всё у людей проходило, что такое?

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

Сделайте раунд для всех нерейтинговым, ну пожа-а-алуйста.

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

D решалась при помощи разделяй-и-властвуй?

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

    Поддерживаю вопрос. Как нужно было решать D? BFS, даже оптимизированный, получал TL 11

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

    del

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

    Я писал обычную ДП по дереву dp[i][j] сколько вершин в поддереве находится на расстоянии j от корня i. Дальше несложно посчитать и весь ответ.

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

    Динамика dp[i][j] — сколько есть вершин в поддерве c корнем i и на расстоянии j от этого корня. Далее по ней легко считался ответ.

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

      и как для i-й вершины это пересчитывать? Объясните, а то я быстрее чем за n*n не могу придумать.

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

        Для каждой вершины пойдет по дереву вверх на не более 500 шагов и подобавляем

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

        Там расстояния маленькие же, <=500, поэтому за n*k в итоге можно всё посчитать.

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

        так вот так же


        down[0][x]=1; while (q) { if (f[y[q]]==false) { dfs(y[q],s+1); for (int i=1;i<=k;i++) down[i][x]+=down[i-1][y[q]]; } q=p[q]; }
      • »
        »
        »
        »
        14 лет назад, скрыть # ^ |
         
        Проголосовать: нравится 0 Проголосовать: не нравится

        http://pastebin.com/7mw6um1g Посмотри функцию (go). Надеюсь, так будет понятнее.

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

        Ну допустим у нас был массив уже подсчитан до захода в какое-то поддерево сына. Тогда будем считать ответ что одна вершина лежит в следующем поддереве, а другая в каком-то предыдущем. Тогда по частично подсчитанной дп можно добавить dp[son][j-1]*dp[v][k-(j-1)] где j, это сколько мы даем расстояния в поддереве.

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

        Напишу еще свое объяснение.

        Посчитали динамику dp[i][j] = количество вершин на расстоянии j от вершины i в поддереве вершины i. Пусть res[i][j] = общее количество вершин на расстоянии j от вершины i. Тогда res[i][j] = dp[i][j] + res[prev[i]][j — 1] — (j >= 2? dp[i][j — 2]: 0), где prev[i] — предок i-ой вершины в дереве обхода в глубину (в том дереве, в котором считалась первая динамика). Это соотношение просто значит, что мы берем все нужные пути в поддереве, а так же те пути, которые идут наверх (первое ребро всегда фиксировано, так как предок единственный), но при этом не учитываем пути, которые идут наверх, а потом сразу вниз (то есть проходят по первому ребру 2 раза подряд). Для корня res[i][j] = dp[i][j].

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

    UPD: тьфу, не C, а D. Пардон.

    Методом пристального смотрения на двоичные деревья. :-)

    Я делал что — предположим, что максимальный символ в общей строке — k. Находил формулой минимальную и максимальную позицию такого символа в обоих отрезках, рассматривал три случая — берём в каждом из отрезков самый левый символ k, какой-то средний, или самый правый. Потом отходил от этого символа в обоих отрезках макимально налево, максимально направо и брал минимум по обоим отрезкам.

    В общем, невнятное у меня решение, но корректное. Уверен, что есть решение чуть ли не в пару строк какой-нибудь мега-битовой формулой.

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

    Решал ее за O(N * K * log(N)). Итоговый код отправить не успел, посмотрим, что будет в дорешке.

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

    Я делал динамику. Обходим в глубину. Храним для каждой вершины число ее сыновей определенной глубины. И совмещаем вычисления с динамикой. Для каждой вершины прибавляем к ответу число пар, для которых эта вершина — LCA. Оно считается просто — просматривая сыновей, суммируем произведения количества вершин глубины p (относительно текущей) в каждом из поддеревьев на количество глубины k-p в всех ранее просмотренных поддеревьях. Ну и отдельно плюс число вершин глубины k — каждую из них можно соединить с нашим корнем.

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

    down[v][k] = (сумма по u — сыновьям v)down[u][k — 1]

    up[v][k] = up[p(v)][k — 1] + down[p(v)][k — 1] — down[v][k — 2]

    up[v][k] — количество путей длины k с началом в v, у которых первое ребро вверх, down[v][k] — то же самое с первым ребром вниз.

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

    Я решал как-то по суровому, но все-равно забыл про лонг лонг=) dp[i][l] — кол-во путей длинны l из вершины i, sum[i][2] — сумма уже просчитанных путей четной/нечетной длинны из вершины i. Тогда для всех j смежных с i, dp[i][l] = sum[j][(l-1)%2]-sum[j][l%2].

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

Красота а не тур. Респектище авторам! Только порядок задач хитрый, хотя, в принципе, коррелирует с баллами.

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

Классный проблемсет. В задаче D 12-ый претест случайно не макстест?

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

Кто писал неофициально у вас получалось взламывать???А то у меня писало Некорректный тест:( Я вводил упорядоченный массив!!!:D

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

I wish the system test to be fast !!! :D

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

В E кто-нибудь упихал перебор? Если нет, то как решали?

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

    Я вроде упихал и умею доказывать, что асимптотически проходит. На 30 тестах 10009 работает 2.2 на сервере

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

    У меня локально перебор на 30 тестах из чисел 90011 работает 2 сек. Запустил в "Запуске", работает 4.8 сек, печаль:(

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

      У меня 0.420с. Я делал тупой перебор в правой половине матрицы (без диагонали), только как только заполнялся ряд, я смотрел перебором по диагональной цифре, сколько вариантов есть, чтоб получилось простое число, и если 0, дальше рекурсивно не шёл.

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

        Чёрт возьми, вот это, похоже, самое красивое и простое решение. Действительно, достаточно перебрать 10^6 вариантов на одну из половин матрицы.

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

    Ну я упихал тупейший перебор — только на последнем уровне рекурсии вручную всё рассмотрел, а не как в общем случае. На худшем тесте успевало с запасом в 3 раза.

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

    Оно упихивалось без следующей оптимизации?: Сначала выберем числа в последнем столбце и последней строке. Они должны содержать только цифры 1379, таких простых чисел всего 249, а не 9000+.

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

      Я перебирал только те цифры, которые могут продолжать текущий префикс (просто предподсчитав список цифр, продолжающих текущий префикс).

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

    Будем ставить числа сверху вниз построчно. Тогда каждый раз все зависит от цифр, стоящих слева от свободной части. Делаем четыре динамики для разной заполненности матрицы с перебором по простым числам. Итоговая <<сложность>> — 10000 на количество простых. Работает за 1.5 секунды, каждый запрос за O(1).

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

    Я тоже писал перебор. Было две идеи по оптимизации (написанных): 1) перебираем только нижний треугольник, в последней строчке — только числа 123579 (2 и 5 перебирать нужно из-за того, что они сами простые) 2) после того, как заполнили матрицу, можно за O(n^2) найти количество способов поставить цифры на диагонали. Для этого для всех чисел длины n-1 и для каждой позиции от 0 до n посчитаем количество способов вставить цифру в это число на эту позицию так, чтобы получилось простое.

    Есть еще одно отсечение — после построения первых нескольких строк проверить, что количество способов поставить цифры на диагонали не равно нулю. Это я не добавил, потому что пришлось бы кучу индексов пересчитывать. На 30*10007 и без этого работает меньше полсекунды локально на моей не очень быстрой машине.

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

    Я написал 2 оптимайза:

    • ставим только символы которые могут продолжить наш префикс

    • запоминаем ответы, которые уже знаем(потому-что не пашет только на некоторых тестах)

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

Спасибо за существование Wildcard-раундов. Как раз для участников вроде меня, у которых электрики в районе не подозревают о проведении VK Cup.

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

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

Мне стыдно, но: как решать B? Я ничего, кроме какой-то стремной динамики не придумал :(.

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

    Жадно, сортим, сперва в порядке убывания стоимостей табуретки, потом как угодно карандаши. Потом первый k-1 предмет кладем в отдельные корзины и остатки как придется

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

    Кажется, должно работать: Если табуреток меньше k, то в каждую корзинку по табуретке, а остальные корзинки как угодно. Если табуреток ровно k, то, опять же, в каджую корзинку по табуретке. Теперь надо распихать карандаши, причём выиграть мы уже ничего не можем -- только проиграть. Поэтому положим все карандаши вместе туда, где самая дешёвая табуретка. Если табуреток больше k, то выберем из них k самых дорогих, а остальные будем считать карандашами.

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

      Что такое тест 8 к этой задаче, никто не знает? Написал похожее-не прошло

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

        У меня падало на 8, потому что я неправильно обрабатывал случай, когда надо табуреток k, к дешёвой кладётся карандаш, и этот карандаш оказывается дешевле. Если неаккуратно делать что-то типа min(stool[0], pencil[0]), то можно два раза посчитать карандаш и ни разу -- табуретку.

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

        В 8 тесте видимо были очень большие стоимости, и если ты выводил неправильно форматированный double — случалась беда, у меня было что-то типа 1E10.

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

      А почему k самых дорогих?

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

        В корзину всегда имеет смысл класть табуретку, чтобы получить скидку. Кладем в некоторую корзину табуретку. Какие еще карандаши/табуретки туда лучше положить? Те, которые дороже табуретки никакой выгоды уже не принесут. Карандаши, которые дешевле табуретки, уменьшают скидку, то есть делают хуже.

        Это означает, что в K-1 корзин (если табуреток достаточно) надо положить самые дорогие табуретки и только — тогда скидка будет максимальной. Остальное можно сложить в К-ю корзину. Надо только обработать случай, когда табуреток недостаточно и вместо них кладем по одному карандашу, чтобы удовлетворить условию задачи.

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

    Вроде легко решается, после системного тестирования посмотрим моя логика была такой:

    1) если табуретка стоит дешевле карандаша, то скидку на карандаш ты не получишь, только на табуретку 2) если табуретка стоит дороже карандаша — получишь скидку на карандаш, но это совсем не выгодно

    Из 1,2 следует, что лучше сделать как можно больше корзин, которые содержат лишь 1 табуретку, причём выбрать для этого самые дорогие табуретки.

    Забиваем k-1 корзин самыми дорогими табуретками. Если табуреток меньше, чем k-1, то в оставшиеся корзины раскладываем по 1 карандашу. И в последнюю k-ю корзину сливаем все оставшиеся табуретки + все оставшиеся карандаши.

    UPD: Столько минусов, а ведь алгоритм верный, АС =)

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

Блин, немного не успел додебагать сервером С, печаль.

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

А когда прекратится тенденция делать задачу D самой лёгкой?

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

Может давайте, каждый участник вне конкурса сам решит будет ли этот раунд для него рейтинговым, как на давнем раунде от Alex_KPR (вроде от него же был тот контест)

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

Ну кто делает 80 тестов на задачу А :-(

А ещё меня настораживает, что мой один из первых сабмитов по А, который на 4 странице с конца, до сих пор "в очереди".

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

Quickly-put comments about A,B and D Edit: And now C

It was a nice problem set, too bad we unofficials had that bug that made us unable to submit . I think it would have been a fun contest otherwise.

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

Anyone else got an O(n*k) solution to D that's timing out? (Slightly less than) 50,000,000 iterations isn't too much... I've tried it with C++ vectors and lists. Still too slow.

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

Жаль, что в посте не написали разбалловку задач. Только сейчас заметил, какая она была)

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

    нет, ну реально, кто-то мог изменить свою тактику, порядок решения задач, в зависимости от разбалловки. UPD пересмотрел правила, про стандартную разбалловку ничего нет) тогда вопрос: теперь ее не будут объявлять перед раундом никогда?

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

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

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

У меня в 161B - Скидки динамика за куб зашла: 1345329 =)

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

It will be good to show the position of the submission in the queue near '?' sign during testing.

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

А что с сайтом кстати? Почему в профили нельзя зайти? И что за безопасный режим работы?

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

Да уж, задачу С сдали 89 участников, задачу D сдали 685

P.S. чувствую себя особенно идиотом потому что сдал С и не сдал D :(

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

Congratulations to RAVEman!! Results aren't official yet but as he won't be removed from the contest as he's obviously not a cheater I think we can consider him the winner of the first round ever of the VK Cup! Great job RAVEman!

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

problem D was easier than C !!!

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

Ну почему, почему TL в задаче Е не 3100, и даже не 3072, а именно 3000мс? :(((((

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

Why can't I view the test data?

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

Когда обновится рейтинг?

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

Sorry tourist, meret got the second place because he hacked me...

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

В итоге можно было отобраться решив одну из самых халявных задач сегодня:)

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

А что там с рейтингом? У участников VK Cup все вроде было нормально, а остальные и так были вне конкурса. Или я что-то не так понял?

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

this round will be unrated?

ok...rating updated at last..

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

Problem C's name was very interesting for me. it reminded me "Avada Kedavra" which is the killing curse in "Harry Potter" :D

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

By the way, to rate an event that is not opened to everyone kind of diminishes the rating's value. I mean, the rating is designed to compare coders, how can it be just if part of the coders weren't given the chance to excel (or not) in some of the competitions, but others were?

In most tournaments the contestants either decide not to participate or get eliminated or miss registration, but the fault for not getting a spot in the match(es) is their own. In this case you are just saying "Well, some of you can enter, the others cannot." It will be rated for those who WE decide can enter.

The same goes for TopCoder during the TCO round(s), excluding top participants from the Qual round and under 18 participants from the TCO itself. Actually, I find CodeForces being more accurate and fair in that direction, making Qual rounds non-rated and doing parallel, rated rounds with the other rated tournament matches. I do understand that you had all good intentions to allow parallel participation of all coders, wishing to take part of the contest, however due to some problems it didn't turn out as intended.

Last, I do not ask for the official round to become unrated, neither the other one to become rated. Nor I'm criticizing the CF system or problems — I like them and I appreciate the time and effort you guys are putting into that. I'm just pointing out a problem with the rating systems (both CF and TC) that has been bothering me for some time.

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

    Also, it may be good to give ability to everyone to register either as rated or unrated. So in that case if someone thinks that current round may affect his rating in a not too fair way, then he can choose "unrated" option during registration.

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

      what is the point of this action? increasing a load on servers, which is very important for users who want to get honest results?

      if you don't want to change your rate you can always get in a "virtual contest" later. it even supports real-time results.

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

        In the case when someone is willing to participate in VK Cup Round 1 and pass to VK Cup Round 2, but he doesn't want to participate as rated.

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

          I don't see the point here. It seems to me that rating is important because it reflexes my performance. Hence, the more unrated rounds you participate in, the less significant your rating is.

          Just for fun, what will happen if your idea is applied? Well, I will try my best to become red, then choose "unrated" for all the following contests =)

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

    Both TC and CF's rating formulas are able to correctly update rating in contests that have rating distributions different than average. As they are based in expected position and all that stuff.

    I don't really think this is a problem. You could use roughly the same argument against certain time slots that are popular in some continents while it is 3:00 AM in other places. No competition is truly open to everyone.

    CF didn't rate the qualification round because of its structure that allowed tons of ties and it would have really caused fun rating outputs.

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

    Round was supposed to be rated for everyone, but technical mistake in round setup spoiled this

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

even i'am a official register for the round... why my login is access denied during the first hour of the round

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

я один не мог ломать решения? точнее мог, но вместо кода я видел бледно-синий фон. пробовал с гуглохрома и фаерфокса

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

Rules say that most rounds will be open for rated participation to out-of-championship participants, but can those participants who have already advanced to round 2 participate in Wild-card round 1 as rated?

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

спасибо за разбор)

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

а рейтинг пересчитают после удаления читеров? :)

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

У меня такой вопрос: а вайлд-кард раунд можно будет писать неофициально или нет?

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

Hii,

Can anyone suggest me why my O(nk) solution is giving me a TLE?? i'm just doing 'n' times DFS with a Depth bound of 'k'.

You can find my submission here.

Thank you