Skip to content

Latest commit

 

History

History

Binary-Lifting-Query

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Binary Lifting em que, além de queries de ancestrais, podemos fazer queries em caminhos. Seja $f(u, v)$ uma função que retorna algo sobre o caminho entre $u$ e $v$, como a soma dos valores dos nodos ou máximo valor do caminho, st[u][i] é o valor de $f(par[u], up[u][i])$, em que up[u][i] é o $2 ^ i$-ésimo ancestral de u e par[u] é o pai de u. A função $f$ deve ser associativa e comutativa.

A construção é $\mathcal{O}(n \log n)$, e é possível consultar em $\mathcal{O}(\log n)$ pelo valor de $f(u, v)$, em que $u$ e $v$ são nodos do grafo, através do método query. Também computa LCA e $k$-ésimo ancestral em $\mathcal{O}(\log n)$.

Obs: os valores precisam estar nos nodos e não nas arestas, para valores nas arestas verificar o Binary Lifting Query Aresta.