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

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

Пытался решить задачу С из прошлого контеста. Используя дерево отрезков писал прибавление на отрезке, но почему-то возникает ошибка. Вот две мои посылки:

19279625 19278953

Они отличаются в двух строчках, но результат разный, в одном из них ТЛЕ, так как я пытаюсь за NlogN получить значение N элементов в дереве отрезков, но устраняя эту ошибку программа выдает неправильный ответ, в чем ошибка? Спасибо.

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

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

19280940 смотрим функцию push ;)

Кстати, прибавление на отрезке в оффлайне решается без дерева отрезка за O(1) на запрос и O(N) на восстановление массива (O(logN) / O(NlogN) с деревом)

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

    19225172 Но почему здесь не проходило с задержкой равной нулю...

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

      Потому что в этой задаче нужно присваивать на отрезке, а в задаче из поста — прибавлять.

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

    Извиняюсь, понял, спасибо большое