Maison > Article > développement back-end > Coût minimum pour connecter deux groupes de points
1595. Coût minimum pour connecter deux groupes de points
Difficulté : Difficile
Sujets : Tableau, programmation dynamique, manipulation de bits, matrice, masque de bits
Vous recevez deux groupes de points où le premier groupe a une taille1 points, le deuxième groupe a une taille2 points et une taille1 > = taille2.
Le coût de la connexion entre deux points quelconques est donné dans une matrice taille1 x taille2 où coût[i][j] est le coût de connexion du point i de le premier groupe et le point j du deuxième groupe. Les groupes sont connectés si chaque point des deux groupes est connecté à un ou plusieurs points du groupe opposé. Autrement dit, chaque point du premier groupe doit être connecté à au moins un point du deuxième groupe, et chaque point du deuxième groupe doit être connecté à au moins un point du premier groupe.
Renvoyer le coût minimum nécessaire pour connecter les deux groupes.
Exemple 1 :
1--A 2--B This results in a total cost of 17.
Exemple 2 :
1--A 2--B 2--C 3--A This results in a total cost of 4.
Notez qu'il y a plusieurs points connectés au point 2 dans le premier groupe et au point A dans le deuxième groupe. Cela n’a pas d’importance car il n’y a pas de limite au nombre de points pouvant être connectés. Nous ne nous soucions que du coût total minimum.
Exemple 3 :
Contraintes :
Indice :
Solution :
Nous pouvons tirer parti de la programmation dynamique avec le masquage de bits. L'idée est de minimiser le coût en considérant chaque point du premier groupe et en essayant de le connecter à tous les points du deuxième groupe.
Représentation de l'État :
Transition d'État :
Cas de base :
Objectif :
Implémentons cette solution en PHP : 1595. Coût minimum pour connecter deux groupes de points
Explication:
Cette approche gère efficacement les contraintes du problème et garantit le coût minimum de connexion des deux groupes.
Liens de contact
Si vous avez trouvé cette série utile, pensez à donner une étoile au référentiel sur GitHub ou à partager la publication sur vos réseaux sociaux préférés ?. Votre soutien signifierait beaucoup pour moi !
Si vous souhaitez du contenu plus utile comme celui-ci, n'hésitez pas à me suivre :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!