J'essaie de résoudre le problème de couverture suivant.
Il y a émetteurs avec une zone de couverture de 1 km et récepteurs. Décidez en que tous les récepteurs sont couverts par n'importe quel émetteur. Tous les récepteurs et émetteurs sont représentés par leurs coordonnées et .
La solution la plus avancée avec laquelle je peux venir prend . Pour chaque récepteur, triez tous les émetteurs en fonction de leur distance à ce récepteur actuel, puis prenez l'émetteur avec la distance la plus courte et cette distance la plus courte doit être à moins de 0,5 km.
Mais les regards d'approche naïve aiment beaucoup mieux la complexité du temps . Calculez simplement toutes les distances entre toutes les paires d'émetteur et de récepteur.
Je ne sais pas si je peux appliquer des algorithmes de recherche par plage dans ce problème. Par exemple, les kd-arbres nous permettent de trouver de telles plages, mais je n'ai jamais vu d'exemple, et je ne suis pas sûr qu'il existe une sorte de recherche par plage pour les cercles.
La complexité donnée suppose que la solution devrait être en quelque sorte similaire au tri.
Réponses:
Vous pouvez utiliser le diagramme de Voronoi, ainsi que la structure de données de Kirkpatrick pour résoudre ce problème.
la source