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

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

Дано N и M (1 <= M <= 2e5) (1 <= N <= 1e5) и массив an (1 <= a[i] <= 1e6). Нужно ответить на каждый из M запросов типа "найти самый часто встречающийся элемент на отрезке l r". Если ответов несколько можно выводить любой. Как можно решить эту задачу с помощью дерево отрезков?

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

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

Зачем делать задачу с дерево отрезков, если можно делать с структуры данных.

P.S. Дерево жрет на 4 раза больше памяти, чем структуры данных.

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

    Зачем нести бред, если можно не нести.
    Он спросил как решить задачу с помощью дерево отрезков(это значит, что он хочет решить задачу с помощью дерево отрезков). А твой коммент тут не к месту.

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

Я не знаю как можно решить эту задачу с помощью дерево отрезков, но можно с алгоритмом MO за

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

Это довольно хорошо изученная задача link

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

    А если с изменениями?
    Upd: Понял, можно накапливать корень изменений, и это не повлияет на сложность.