Corrigé Mines-Ponts 2025 Informatique commune MP-PC-PSI — Partie 5 (Q12 à Q14) : Programmation dynamique : tableau des profits maximaux et reconstruction
Sujet officiel du concours Mines-Ponts, session 2025, épreuve Informatique commune MP-PC-PSI. Corrigé rédigé par Ibrahim Alame.
Sujet officiel (PDF, site du concours)
Énoncé
Principe. Pour et , est le profit maximal réalisable avec les objets d'indices à et au plus ressources ; et l'on admet, pour :
Code. KPprogDynamique(obj, b) crée (lignes 2 à 8) une liste de listes T de lignes de zéros ; puis, pour i de à et r de à , elle pose T[i+1][r] max(T[i][r], T[i][r-obj[i][0]]+obj[i][1]) si obj[i][0]<=r, et T[i+1][r] T[i][r] sinon ; elle renvoie T[n][b].
Une seconde version conserve ces lignes et ajoute la reconstruction : S=n*[0], k=n-1, r=b ; tant que r>0 and k>=0 and T[k+1][r]!=0 (ligne 8) : tant que k>0 and T[k+1][r]==T[k][r], on décrémente k ; puis S[k]=1, r=r-obj[k][0], k-=1. Elle renvoie S, T[n][b].
Q12. Pour obj=[(2,3),(1,4),(4,4)] et : donner T après les lignes 2 à 8, puis T[i+1] à la fin de chaque tour de la boucle sur i ; que renvoie la fonction, et que représente cette valeur ?
Q13. Déterminer, en la justifiant, la complexité temporelle de KPprogDynamique.
Q14. Donner S, k et r après chaque tour de la boucle de reconstruction ; la complexité est-elle modifiée ?
Corrigé
Q12. Après les lignes 2 à 8, T contient lignes de zéros :
Chaque tour remplit la ligne à partir de la ligne :
- , objet : pour , il ne tient pas, ; pour , . D'où
T[1] = [0, 0, 3, 3, 3, 3]. - , objet : , , , et de même pour et . D'où
T[2] = [0, 4, 4, 7, 7, 7]. - , objet : pour , recopie de ; et . D'où
T[3] = [0, 4, 4, 7, 7, 8].
100 % gratuit
La suite du corrigé est sur Adloun
Le corrigé rédigé en entier, question par question, et le tuteur pour poser des questions sur ce sujet.
Voir le corrigé complet, gratuitementInscription gratuite en 30 secondes (e-mail, nom d'utilisateur, mot de passe, classe ou profil), sans carte bancaire : arrivée directe sur le corrigé.