Так, рассмотрим сплей, в котором N раз поискали значение, лежащее в корне.
Каждый раз мы будем запускать спуск по дереву, который за 1=O(1) итераций отыщет вершину - корень.
Далее мы запускаем от корня expose, который работает за размер пути от вершины до корня, то есть за O(1).
Итого O(1) на запрос.
Где я не прав?