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

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

Всем привет!

Как найти количество различных чисел на отрезке, с помощью "дерева отрезков"? Я нашел коммент на e-maxx, но не понял как строиться само дерево. Буду рад если разъясните =)

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

»
12 лет назад, скрыть # |
 
Проголосовать: нравится +4 Проголосовать: не нравится

Персистентность FTW ~
Почитай такое

»
12 лет назад, скрыть # |
 
Проголосовать: нравится +4 Проголосовать: не нравится

Знаю решение за NlogN памяти и logN на запрос(log^2 ?).

Построим массив Next[i] = j, j — первое такое, что a[j] = a[i]. Возьмем самое правое вхождение какого-то числа в отрезок, чем оно отличается от других вхождений? Правильно, для него next > R. Построим дерево, в вершине будем хранить set элементов. Ответом будет количество элементов которые больше R.

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

Всем спасибо. Получилось!)