S'il est nécessaire de diviser le tableau en exactement k sous-segments, le deuxième paramètre est simplement ajouté dans la programmation dynamique - le nombre de segments à diviser.
Autrement dit, nous allons maintenant considérer le dp suivant :
dp[i][j] est la réponse pour les i premiers éléments, si nous les divisons en exactement j segments.
Faites attention aux états invalides.
Le recalcul de la dynamique est le même, mais en tenant compte du second paramètre. Autrement dit, en comptant dp[i][k] et en triant par la bordure gauche du dernier sous-segment j, nous recalculons dp[i][k] à dp[j - 1][k - 1] et la valeur du segment [j;i].