У меня есть дерево п вершин n<=10^5
, где каждая вершина имеет счет [I] и д запросы q<=10^5
Каждый запрос имеет два параметра и и L, мне нужно найтиКак решить эту проблему?
sum(score[i]) for all i where lca(i,u)=u and dist(u,i)=L
я могу решить каждый запрос в O(n)
время с использованием bfs, но это не эффективно. Как я могу это оптимизировать? Я потратил много времени на это, но не смог найти способ решить его в nlogn
времени для всех запросов.
Любая помощь приветствуется. Спасибо
Как вы рассчитываете время для отдыха? – prem
@PremSingh Когда вершина собирается выскочить из стека (то есть, в самом конце функции dfs), мы оставляем time_time [v] = timer ++ – kraskevich
большое вам спасибо. – prem