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

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

Сегодня в 20:00 по Москве состоится 1B Round. Не пропустите!

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

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

SpeedCoder2014 1B. Уж насколько хороша система оценки на ТС, но сегодня на каждую сотую балла по 5 мест. Задача B короткая, понятная, интересная, но у половины участников, по-видимому, вообще нет идей, что с ней делать.

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

    Идея одна — перебирать две битмаски долго, надо перебирать одну. Дальше вот что?

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

      Перебрали, проверили, можно ли с ней вообще получить ответ. Если да, то жадно строим вторую маску.

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

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

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

        а если в одном секторе такая картина:

        W....

        ....S

        то что делать?

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

          Тогда маска не годна.

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

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

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

          Я чувствую, что туплю, но почему мы не поставим забор перед 4-ым (в 0-индексации) столбиком?

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

            я неправильно Вас понял, сейчас все встало на свои места, спасибо!

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

Как решать 900?

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

    Посчитаем динамику — какая вероятность найти свободную вершину в поддереве i, если в него уже заходило k орлов. Пересчет — Если k=1 то 1, иначе /* p=1/edges[i].length — вероятность выбрать конкретное ребро */ d[i][k]=sum(p * sum(d[j][k1] * c[k-1][k1] * p^k1 * (1-p)^(k-1-k1), k1=0..k-1), j in edges[i])

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

    Посчитаем сначала p_go[i] — вероятность того, что мы попадем в i-ую клетку, случайно выбираю детей на пути от корня о нее.
    Теперь посчитаем динамику dp[i][j] — вероятность того, что i-й орел будет сидеть в j-й клетке. Имеем формулы

    dp[1][0] = 1.0

    Мы перебираем орла, который находится в родителе. Коэффициент (1 - p_go[j])(j - l - 1) при значении динамики показывает вероятность того, что орлы с номерами c l + 1 по i - 1 не попали в клетку j (или, что то же самое, что клетка j не занята). Ответом будет .

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

      dp[i][j] еще нужно домножить на p_go[j] и при возведении в степень возводить в i - l - 1, а не j - l - 1.

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

Никто раньше не встречался с невозможностью открыть задачу для взлома? А то висит такая единственная 900, сданная на последних минутах, в комнате, а ни двойным кликом, ни через правую кнопку -> Source открыть не получается.

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

    На этом контесте некоторое время не открывалось решение, но потом всё стало норм.

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

В нашей комнате участник T-30 сдал по второй и третьей задаче заглушки, в итоге подбросив двух синих, хотя они и так прошли бы квалификацию. Чем он руководствовался не понятно. Это считается нарушением?

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

    Нет, не считается. Можно посылать хоть пустой файл — это уже задача "Быстро найти таких в своей комнате и забить тест."

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

      Нужно посылать код который скомпилировался.

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

Кто собирался участвовать в раунде 1С, у кого работает Арена? Меня выкинуло потому что пропало соединение, теперь не могу подключиться по тайм-ауту. http://www.topcoder.com/tc тоже не открывается.

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

    Не работает. Сайт топкодера тоже лежит

    UPD. смог зайти