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

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

6 месяцев назад состоялся TopCoder SRM 601.
Удачи всем.

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

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

Большое спасибо! Чуть не забыл, если бы не этот пост!

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

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

Ты главное не забывай ежедневно обновлять, а то мы запутаемся.

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

let us motivate ourselves and make a short goal and working from now to achieve it

My goal is to be Blue (TopCoder) by the SRM 601 :)

What's your goal ?

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

    My goal is same as yours.(*^_^*)

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

      Sorry for my curiosity, I have look at your performance at both topcoder and codeforces, and the gap is so large , is there any special reason? I thought these two will be very much similar?

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

        Well, I have only compete in topcoder for 4 SRMs, and in the first one I am not familair with the rules and the environment and even don't know how to submit a solution, so I ended with 0 submission, my rating goes down to a very low score. And I am also studying c++ right now, not very familair with Class and STL. So, as you can see, I am trying very hard to raise my rating to a green or blue one. Hope that day won't come too late!

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

      Aha, I have achieved my goal last night but a little pity ...when I finished coding the 1000 pionts' problem, 7 seconds left...

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

    Ah I tried to upvote your comment for your spirit. But I mistakenly press the downvote button. Sorry for that

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

    To be yellow.

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

Will there be a contest in CF this weekend?

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

Will there be a contest in CF this weekend?

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

Oh! This blog updates everyday until the contest!! Good luck!

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

А ещё, если кто не знает, за событиями на топкодере можно следить, подписавшись на TopCoder Calendar

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

До старта СРМ-а меньше суток, а не 4 дня

UPD Уже не актуально

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

It is finally here! This is like a dream.

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

Хм. Раунд стартует в девять по Москве, то есть на час позже, чем указано в посте.

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

the link of time is set wrongly to 16:00 UTC while the title of the link is 17:00 UTC

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

Не могу зайти в арену сегодня, у кого-нибудь еще есть такая проблема?

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

    Я могу зайти и сейчас, и мог час назад. Может, версия Java устарела?

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

    При входе в комнату SRM 601 арена повисла, решил перезагрузить арену — больше она не открывается. Теперь болт пинаю, вместо написания контеста :(

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

Да я шатал! Три комбинаторики в одном контесте! Три долбаных комбинаторики! Да они пример с Facebook Hacker Cup Round 2 взяли, что ли?

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

Эпичный фэйл: 15 минут дебагить 500, так и недодебагить, и только после контеста понять, что где-то в процессе решения задача чуть изменилась, и я решал задачу где xor первого множества больше и надо было заменить [1][0] на [0][1]. А первые сэмплы естественно проходят (ибо N = M), поэтому походило на какой-то фэйл в алгоритме.

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

    А как её решать?

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

      Будем перебирать бит (11 вариантов), в котором ксоры множеств будут отличаться. Тогда на префиксе (до этого бита) ксор будет совпадать, то есть должен быть равен 0. Имеем динамику dp[i][x][j][k] — рассмотрели i чисел, ксор на префиксе x, нужный бит в первом множестве равен j, во втором k. Тогда к ответу нужно каждый раз прибавлять dp[max(n,m)+1][0][0][1] — ну первая размерность зависит от реализации, я писал динамику вперед, так что так получилось.

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

        Можно убрать измерение k, а в префикс включить еще один бит. Смотреть в конце на dp[max(n,m)+1][1][0].

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

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

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

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

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

          Расскажи лучше, как 950 решать?

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

            Я не успел додебагать вот такое (уже сдалось в дорешку).

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

            Если закончились, то переходим из (магазин, нет ничего) в (следующий магазин, есть все). Если начался новый магазин, то надо тот который закончится раньше использовать полностью. Количество способов это сделать — это . Перебрали сколько осталось от магазина, получаем a,b,c и новое состояние.

            Итого 50 * 1003

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

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

              Казалось бы, это должно работать долго, но System Test проходит. На контесте упало потому что я забыл, что у нас может быть больше 1 компоненты связности :(

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

              Казалось бы количество 3го цвета вычисляется по остальным двум, так что квадрат, но на 500

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

      У нас есть два бинарных числа, и одно должно быть меньше другого. Переберём по первому биту где они отличаются. Пускай он будет x, всё что слева от этого бита l, а справа r.

      Тогда, нам необходимо, если мы выберем числа в множества и заксорим только l-части, чтобы результат был одинаковым. Или xor результатов был 0. Так как результат — сам xor. То нам надо чтобы l-части всех выбранных чисел в оба множества был 0. r-части нас не интересуют вообще. А x — в первом множества должен быть 0, а во втором 1.

      Делаем ДП: a[i][l][x1][x2] — сколько способов обработать первые i чисел, чтобы xor l-частей всех выбранных чисел был l, при этом у первого множества x-часть — x1, а у второго — x2.

      Обновлять можно вперёд — проталкиваем a[i][l][x1][x2] в:

      • a[i+1][l][x1][x2] (не берём)
      • a[i+1][l ^ (i+1).l][x1 ^ (i+1).x][x2] (берём в первую, (i+1) <= N)
      • a[i+1][l ^ (i+1).l][x1][x2 ^ (i+1).x] (берём во вторую, (i+1) <= M)

      Ответ: сумма a[max(N, M)][0][0][1] по всем возможным битам.

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

    А я 15 минут дебагал неправильные размеры массива. Поставил 2010 вместо 2048. От студии со включенным дебагом я ожидал большего, чем записи в неправильное место массива:(

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

Кто победил в div1? Просто арена не работает, не могу результаты посмотреть.

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

Can someone give an idea about div2 1000 pts problem?

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

Topcoder SRM 601 had passed 2 days ago.

Seems like this post will be on top forever :)

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

Пожалуйста, обновите информацию здесь! А то сейчас она вводит пользователей в заблуждение.