Мне нужно создать структуру данных для хранения последовательностей n
-length со следующими методами:
-
increasing()
- возвращает длину самой длинной увеличивающейся подпоследовательности -
change(i, x)
- добавляет x в i-й элемент последовательности
Интуитивно это звучит как нечто, разрешимое каким-то деревом интервалов. Но я понятия не имею, как об этом думать.
Мне интересно, как использовать тот факт, что нам совершенно не нужно знать, как выглядит эта подпоследовательность, нам нужна только длина...
Может быть, это то, что можно использовать, но я довольно сильно застрял в этой точке.