Блог пользователя snarknews

Автор snarknews, история, 9 лет назад, По-русски

15 января в 14:00 стартовал третий раунд SnarkNews Winter Series 2016. По просьбам участников серии публикуется ссылка для регистрации и участия в третьем раунде.

Также в комментариях к этому посту можно будет по окончании раунда в соответствии с расписанием обсуждать задачи раунда.

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

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

На чем многие валились в С?

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

Решается ли C без ограничения на количество запросов суммы?

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

Как D решается?

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

    Правильное решение:

    ДП. f(vertex, cnt, closest) -- максимальное количество вершин, переходящих на новые сервисы в поддереве вершины vertex, если в её поддереве установлено cnt новых сервисов, а ближайший к vertex новый сервис расположен в closest. Важно, что closest не обязана находиться в поддереве vertex. Считаем, что в vertex расположен новый сервис, если closest = vertex. При подсчёте ДП для ребёнка u вершины vertex ближайшей вершиной к u с новым сервисом должна оказаться либо closest, либо любая вершина из поддерева u (но последнее возможно только в случае, если closest не находится в поддереве u). Сложность решения O(n3).

    Accepted-решение:

    Посчитаем cover(i, j) = 0/1 -- правда ли новый сервис, установленный в вершине i, "покроет" вершину j. Имеем n битовых масок длины n, из которых надо выбрать k так, чтобы в их объединении было как можно больше единичных битов. Выберем k случайных масок и 10000 раз попробуем сделать локальную оптимизацию: заменим случайную маску в множестве на случайную не из множества и посмотрим, улучшится ли ответ. Повторяем всю процедуру, пока не наступит TL.

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

Как решать D?

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

У многих возникали трудности понимания условия задачи E? Я лишь спустя несколько часов осознал, что от меня хотят :|