La domanda reale è questa:Minimizzare somma delle distanze: ottimizzazione Problema
McDonald sta progettando di aprire un numero di articolazioni (diciamo n) lungo una strada diritta. Queste articolazioni richiedono magazzini per conservare il cibo. Un magazzino può immagazzinare cibo per qualsiasi numero di giunti, ma deve essere posizionato solo in uno dei giunti. McD ha un numero limitato di magazzini (per esempio k) disponibili e desidera posizionarli in modo tale da ridurre al minimo la distanza media dei giunti dal magazzino più vicino.
Dato un array (n elementi) di coordinate dei giunti e un intero 'k', restituisce una matrice di elementi 'k' che fornisce le coordinate del posizionamento ottimale dei magazzini.
Spiacente, non ho esempi disponibili poiché sto scrivendo questo dalla memoria. Comunque, un campione può essere:
matrice = {} 1,3,4,5,7,7,8,10,11 (n = 9)
k = 1
Ans: {7 }
Questo è quello che stavo pensando: per k = 1, possiamo semplicemente scoprire la mediana del set, che darebbe la posizione ottimale del magazzino. Tuttavia, per k> 1, il set dato dovrebbe essere diviso in sottoinsiemi 'k' (disgiunto e di elementi contigui del superset), e la mediana per ogni sottoinsieme darebbe le posizioni del magazzino. Tuttavia, non capisco su quali basi dovrebbero essere formati i sottoinsiemi 'k'. Grazie in anticipo.
MODIFICA: C'è una variante a questo problema anche: invece di sum/avg, ridurre al minimo la distanza massima tra un giunto e il suo magazzino più vicino. Non capisco neanche questo ..
È un compito? Se è così, taggalo come tale, per favore. –
Beh, questo è venuto in una competizione. –
@ArpitTarang Mi sono imbattuto nello stesso problema. Sei riuscito a risolverlo? – user3634974