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

Автор sdryapko, 13 лет назад, По-русски
Cегодня в 20:02 начался очередной SRM.
Предлагаю здесь после окончания СРМа вести его обсуждения
  • Проголосовать: нравится
  • +19
  • Проголосовать: не нравится

13 лет назад, # |
Rev. 4   Проголосовать: нравится +3 Проголосовать: не нравится
Не могу ни как понять 1000 проблему в див 2(
Как так это вещественно число получатся та из целых, которые тока вычитают по модулю.

p.s. Знаю что обсуждать плохо пока еще не закончился контест, просто не понял проблему вообще, а тем более решить ее шансов нету
  • 13 лет назад, # ^ |
      Проголосовать: нравится +4 Проголосовать: не нравится
    Там мат.ожидание - сколько в среднем будет.
    Высота каждого дерева - рандом от low до high. И далее с получившийся последовательностью что-то творят. И получают какой-то целый ответ. А рандомов много. Нужно вернуть среднее по всем возможным случаям.
    • 13 лет назад, # ^ |
        Проголосовать: нравится +2 Проголосовать: не нравится
      Спасибо понял (нужно чтобы последовательность была "клевая" (каждые три числа удовлетворяли условиям, если не удовлетворяет то удалить некоторые деревья) потом найти разность всех соседей по высоте и разделить сумму разностей на количество деревьев это и будет ответ. Ну и чтоб коэффициент красивости был максимальным).
  • 13 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится
    500 div 2 это про матрицу
  • 13 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +5 Проголосовать: не нравится
    Ну почему problem переводят как "проблема"? Это ведь "задача" :)
13 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится
ппц бесят мудаки, которые удаляют все пробелы ради того, чтобы их не зачеленджели =/
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
По идее польза от этого =  0
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Если это относилось к комменту Gantz, просьба использовать кнопку "ответить". Не затеряется под веткой обсуждения, если таковая вырастет.
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Нет, есть польза - на такой код нет желания смотреть и что-то там разбирать!!!
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Я участвовал сейчас в первый раз. Сколько примерно по времени занимает фаза System Testing Phase?
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Открываем  Active contests -> SRM -> Division summary и наблюдаем сначала проверку div1, а затем и div2. :)
    • 13 лет назад, # ^ |
        Проголосовать: нравится +4 Проголосовать: не нравится
      Мы одновременно одинаково ответили на заданные одновременно одинаковые вопросы :)
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Системная проверка в среднем сколько времени занимает?
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Можно смотреть на Divison Summary (Active Contests => SRM => Divison Summary) по дивам и приблизительно оценивать завершённость.
    Сначала идёт первый див, потом - второй.
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
когда рейтинг пересчитают?

13 лет назад, # |
Rev. 2   Проголосовать: нравится +1 Проголосовать: не нравится
Как 500 Div1 решать? Судя по коду как-то совсем просто - чистая математика.
  • 13 лет назад, # ^ |
    Rev. 3   Проголосовать: нравится +16 Проголосовать: не нравится
    1) то, что некоторые числа из последовательности выкидываются, не влияет на ее красоту,

    2) ответ = , а это считается за O(n).
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      красиво... я придумал лютую ДП с выкидыванием и пересчетом "лесенками" вида 1 + 2 + .... но такое не успел написать :( Но красивая задача)
      • 13 лет назад, # ^ |
          Проголосовать: нравится +5 Проголосовать: не нравится

        Я тоже писал лютую ДП, и думал "охренеть Гена маньяк написал это за несколько минут".

        Первые две задачи обе клевые. Я тока за 3 минуты до конца контеста понял, что по первой задаче написал не правду :о)

        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          250ку кстати я уже видел, но в более сложной интерпретации. :) но блин, ты крут, что такое дп написал)
          • 13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится

            Не-не-не, я не сказал "написал", я сказал "писал".

            Тут главное было вовремя понять, что все намного проще.

        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Ога, та же обычная фигня. Сразу придумать хренмерную динамику, а потом долго пытаться сократить большую часть параметров вместо того, чтобы изначально помедитировать над задачей на предмет поиска скрытых взаимосвязей.
          • 13 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            вот что за стереотип, что 500-ка div 1 - это обязательно динамика? да, там бывают задачи на динамику чаще, чем стоило бы давать, но это не значит, что нужно вырабатывать рефлекс собаки Павлова заставлять мозг думать в одном направлении

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

            почему вспомнилось высказывание Андрiя Максая по задаче E тут, правка 4
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        А я начал писать динамику, но через 20 минут понял, что на самом деле надо было воспользоваться фактом “матожидание суммы равно сумме матожиданий”. Как и в половине задач на матожидание.
    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Можешь объяснить формулу. Чёт не очень понятно.
      • 13 лет назад, # ^ |
          Проголосовать: нравится +6 Проголосовать: не нравится
        С учетом 1) получаем, что нужно найти мат. ожидание величины |a[1] - a[2]| + |a[2] - a[3]| + ... + |a[n -1] - a[n]|. Для этого нужно найти сумму мат. ожиданий слагаемых |a[i] - a[i + 1]|. a[i] примет некоторое значение j с вероятностью P{a[i] =j} = 1 / (high[i] - low[i] + 1), a[i + 1] примет некоторое значение k с вероятностью P{a[i + 1] = k}, которая вычисляется аналогично, при этом |a[i] - a[i + 1]| = |j - k|. Находя сумму по всем i, j, k, получаем ответ.
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          А ну с учётом 1) понятно. Блин ну точно. Чётко. Мне чёт ваще в голову не пришло что от выкидывания ничего не зависит. А это прям очевидно.
    • 13 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

      Почему 1 выполняется?

      если взять например числа 1 3 2  (её красота равна 3) и выкинуть 3, то красота станет равна 1.

      я что-то явно не понял...


      UPD. Всё понял.. Спасибо.

13 лет назад, # |
  Проголосовать: нравится +22 Проголосовать: не нравится
Поздравляю Petra с победой в срме и с возвращением себе 1-ого места по рейтингу
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
А как решать 1000 див 1?
Если N*M небольшие, то очевидно, что гауссом считаем количество свободных переменных, и ответ это 2 в этой степени.
Но в условии N и M до 150...
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

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

    Ребро - если конь может сделать ход из одной клетки в другую (очевидно конь будет менять долю каждый ход).

    Надо найти количестви минимальных вершинных покрытий этого двудольного графа. Как это сделать я не знаю :о)

    • 13 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Это вроде неверно, ведь по условию инвертируется, а у в покрытии надо чтобы было хотя бы 1.
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

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

         

         

  • 13 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
    Решать нужно гаусом и найти ранк матрицы. Проблема что у нас nm переменных и nm уранений. Но число переменных можно сократить до 2n + m если заметить, что когда у нас известна расстановка коней на последних двух строчках и на последнем стобце, то дальнейшее расположение коней определяется однозначно. В итоге получается 2n + m переменных и nm уравнений. И ранк можно найти за (2n + m)2· nm плюс еще битовое сжатие можно приенить для усокрения в 64 раза.
    • 13 лет назад, # ^ |
        Проголосовать: нравится +5 Проголосовать: не нравится
      Наверное для однозначности все-таки нужны 2 строчки и левый столбец?
      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        да подправил)
        • 13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Вот у Petrа количество уравнений совпадает с количеством переменных.
          Наверное нам не нужны все n*m уравнений?
    • 13 лет назад, # ^ |
        Проголосовать: нравится +10 Проголосовать: не нравится
      nm уравнений не нужно - ведь если мы восстанавливаем расстановку коней в остальных клетках, то мы автоматически получаем что везде кроме первых двух строк и первого столбца все уже как надо. Так что уравнений столько же сколько переменных )
13 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
Интересно где нибудь разборы пишутся, SRM'ов?

И еще, как 500 из див два про матрицу B W решать? Я просто искал минимум по горизонтали и вертикале в итогe fail.
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    У меня тоже =( Что-то никак не придумать, почему это неправда.
    • 13 лет назад, # ^ |
      Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится
      Ну так можно ведь посмотреть, на каком тесте завалилась

      UPD: вот пример:

      WWBBB

      WWBBB

      WBBBB

      BBBWW

      BBBWW

      BBBWW

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

        Меня почелленджили, а автор челленджа покинул арену, и я не успел его спросить. А челленджи же вроде нельзя смотреть, или я просто не умею?

        Да, теперь понятно, спасибо.

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

          Это именно тот тест, на котором вас почелленджили.

          Как смотреть:

          Кликаете на точку в графике своего рейтинга, соответственно попадаете в резы своей комнаты, там будет список участников и их очков, а ниже ваш статус по задачам, и там где Challenge Succeeded, просто кликаете на ссылку с названием задачи и смотрите внизу =)

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

            Ой, точно, я же так тоже умею =)

            Просто забыл о таком способе: когда падает на систестах, можно прямо в арене посмотреть.

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

      Я тоже :о) Потом понял это, и челенжил тестом

      ...XXX

      ...XXX

      ...XXX

      .XXX..

      .XXX..

      XXX...

      XXX...

      XXX...

       

      Поиск вернет троечку вместо двойки.

       

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

      • 13 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        За тест спасибо, а как решать, было понятно и сразу -- но почему-то из всех решений выбрал именно поиск минимума по строкам и столбцам >_<
13 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

В арене кто-то написал такой тест:

{WWBB, WWBB, WBBW, BBWW, BBWW}

Правильный ответ - 1.

13 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
А есть ли где-нибудь условия SRM-а на русском языке?
А в процессе контеста нет доступных переводов?
Просто по-английски намного дольше вникать в задачу получается . . .
  • 13 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Вряд ли, а уж в процессе контеста и подавно. Поначалу непросто конечно, но там условия написаны довольно простым языком и быстро можно привыкнуть.