O idee ar fi sa extindem un arbore indexat binar ca in locul unui vector de intregi sa avem un vector de hashset-uri. Hashset-ul AIB(x) va contine toate vizitarile din intervalul de timp (x - 2^k, x], unde k - numarul de zero-uri terminale din reprezentarea binara a lui x. Dimensiunea hashset-ului AIB(x) reprezinta numarul de vizitatori distincti din intervalul de timp pe care il reprezinta.
Va trebui facuta o preprocesare ca sa construim structura de date, dar solutia se preteaza si la cazul online.
Complexitate timp: Preprocesare: O(n * log(n)), Query: O(log(n))
Spatiul: O(n * log(n)) - vom stoca in acele hashset-uri toate vizitarile site-ului.
Nu sustin ca aceasta idee este cea optima.
EDIT: Nu merge, e aceeasi problema ca la Petcu Marius.