Buonasera. Da un po di giorni studio il problema della subset sum. Ho prima visto la versione col backtracking che è stata abbastanza intuitiva da capire, poi sono passato alla versione che sfrutta la programmazione dinamica. Questa non riesco proprio a capirla. Ho che bisogna identificare dei sottoproblemi tra loro correlati, ma mentre in un problema come quello dei numeri di Fibonacci è chiaro dall'albero di ricorsione quali siano i sottoproblemi ripetuti, in questo caso non mi sembra evidente. Poi non capisco cosa faccia questa equazione di ricorrenza:
$DP[i][j]=DP[i-1][j] || DP[i-1][j-A[i-1]]$.
Sapreste spiegarmi a cosa serva e in cosa consistono i sottoproblemi di cui è composto questo problema?