Vai al contenuto principale
← OlimpiApp Difficile

Informatica · Strutture dati

Segment tree su 32 foglie: nodi visitati dalla query [5,27)

Un segment tree è costruito ricorsivamente su un array di 32 foglie. Ogni nodo copre un intervallo semiaperto [lo, hi): la radice copre [0, 32) e ogni nodo con $\text{hi} - \text{lo} \ge 2$ ha due figli che coprono [lo, mid) e [mid, hi), con $\text{mid} = \frac{\text{lo} + \text{hi}}{2}$. La query(l, r), con intervallo semiaperto [l, r), parte dalla radice e su ogni nodo fa così: se l'intervallo del nodo è disgiunto da [l, r), ritorna subito; se l'intervallo del nodo è interamente contenuto in [l, r), ritorna subito; altrimenti chiama ricorsivamente la query su entrambi i figli. Ogni nodo su cui la query viene chiamata conta come visitato, anche se ritorna subito. Quanti nodi vengono visitati in totale eseguendo query(5, 27)?

La tua risposta

Vanno bene sia 3,14 sia 3.14.