Diziyi tam olarak k alt parçaya bölmek gerekirse, dinamik programlamada ikinci parametre basitçe eklenir - kaç parçaya bölünecek.
Yani, şimdi aşağıdaki dp'yi ele alacağız:
dp[i][j], onları tam olarak j parçaya ayırırsak, ilk i öğelerinin yanıtıdır.
Geçersiz durumlara dikkat edin.
Dinamiklerin yeniden hesaplanması aynıdır, ancak ikinci parametre dikkate alınır. Yani, dp[i][k]'yi sayarak ve son j alt bölümünün sol kenarlığını sıralayarak, dp[i][k]'yi dp[j - 1][k - 1]'e ve parçanın değerini yeniden hesaplarız [j;i].