Size: a a a

2020 April 13

f

fashdrag (VladKov) in pro.algorithms
Kotomord_λapki
разверните, плиз
Знаю как находить k-ую порядковую статистику на на отрезке [l,r] через перс ДО
Не могу написать как находить k-ую порядковую статистику на пути от u до v в дереве, где к каждой вершине приписано значение
источник

K

Kotomord_λapki in pro.algorithms
это нужно в цикле делать?
источник

K

Kotomord_λapki in pro.algorithms
можно полное условие?
источник

f

fashdrag (VladKov) in pro.algorithms
Какой еще цикл?
источник

f

fashdrag (VladKov) in pro.algorithms
источник

K

Kotomord_λapki in pro.algorithms
круть какая...
источник

K

Kotomord_λapki in pro.algorithms
@aragaer  тут твоя помощь нужна, у меня что-то системы n*sqrt(n)* log(n) придумывается...
источник

A

Aragaer in pro.algorithms
по-моему поиск пути в глубину займет n, но при этом можно сразу поддерживать отсортированный список весов. Получается n*log(n), нет?
источник

A

Aragaer in pro.algorithms
ну или точнее не отсортированный список, а скорее "претендент на текущую k-ю позицию"
источник

DN

Dan Nesterov in pro.algorithms
Переслано от Dan Nesterov
Можно выписать эйлеров обход, на нем запустить МО по запросам, добавлять значения в вершине или убавлять в отдельную корневую декомпозицию. С помощью этой второй декомпозиции можно за О(1) прибавить в точке, за корень найти порядковую статистику.
источник

DN

Dan Nesterov in pro.algorithms
Переслано от Dan Nesterov
O(sqrt(n)*n) получается
источник

A

Aragaer in pro.algorithms
а, тогда это константа даже
источник

A

Aragaer in pro.algorithms
.. нет, не константа 8(
источник

K

Kotomord_λapki in pro.algorithms
Aragaer
по-моему поиск пути в глубину займет n, но при этом можно сразу поддерживать отсортированный список весов. Получается n*log(n), нет?
да, но от каждой вершины не хочется
источник

K

Kotomord_λapki in pro.algorithms
запросов тоже много
источник

K

Kotomord_λapki in pro.algorithms
Dan Nesterov
Переслано от Dan Nesterov
Можно выписать эйлеров обход, на нем запустить МО по запросам, добавлять значения в вершине или убавлять в отдельную корневую декомпозицию. С помощью этой второй декомпозиции можно за О(1) прибавить в точке, за корень найти порядковую статистику.
МО?
источник

DN

Dan Nesterov in pro.algorithms
Алгоритм МО
источник

K

Kotomord_λapki in pro.algorithms
Я бы писал нечто в таком стиле
Подвешиваем дерево за корень
Находим поддерево размера sqrt(N)
Отфильтровываем запросы, где одна из вершин в поддереве и где обе в поддереве
вторую группу можно пробрутить,
первая - подготовка для каждой вершины из поддерева отсортированного массива "путь до корня поддерева" и один dfs из корня наружу с поддержанием списка в сбалансированном дереве
Шаг n log n, шагов sqrt(n)
источник

K

Kotomord_λapki in pro.algorithms
но хрен знает, уложится ли это в TL
источник

A

Aragaer in pro.algorithms
ну кстати я бы тут отчаянно мемоизировал все возможные пути
источник