Domanda

Definizione 1: Punto $ (x, y) $ sta controllando il punto $ (x ', y') $ se e solo se $ x <x '$ e $ y <y' $.

Definizione 2: Il punto $ (x, y) $ è controllato dal punto $ (x ', y') $ se e solo se $ x '<x $ e $ y' <y $.

Sto cercando di trovare la struttura dei dati per supportare le seguenti operazioni:

  • $ mathrm {add} (x, y) $ - aggiunge un punto $ (x, y) $ al sistema in $ mathcal {o} ( log n) $ complessità dove $ n $ è il numero di punti in il sistema.

  • $ mathrm {remove} (x, y) $ - rimuove un punto $ (x, y) $ dal sistema in $ mathcal {o} ( log n) $ complessità dove $ n $ è il numero di punti in il sistema.

  • $ mathrm {punteggio} (x, y) $ - restituisce il numero di punti $ (x, y) $ controlli - numero di punti che $ (x, y) $ è controllato da. Complessità del caso peggiore $ mathcal {o} ( log n) $.


Ho provato a risolverlo usando più alberi AVL, ma non sono riuscito a trovare una soluzione abbastanza elegante.

Questa domanda è apparsa sui miei esami pochi giorni fa. La domanda dovrebbe avere relativamente semplice in quanto valeva $ 15/100 $ punti. Ho provato a risolverlo da diversi alberi AVL ma non sono riuscito a trovare una soluzione abbastanza elegante.

I suggerimenti sono i benvenuti.

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a cs.stackexchange
scroll top