看似很水的题儿,也要做出水平来。
下面给出四个程序:用了两种不同的状态表示,以及每个状态表示用了两种不同的记录方法。
(注,由于这题的数据很弱:即对于每个case,钱都是可以全部花完的。所以我拿一些错误的算法上去也过了)
一、
①状态dp[i][j]表示为装入前i个物品,容量还剩j的情况。
②只将最开始的状态赋值为0,其他赋值为-1(表示是不合法状态)
二、
①状态dp[i][j]表示为装入前i个物品,容量还剩j的情况。
②将dp全部赋值为0,即一些取不到的状态也当成合法的(对应背包允许装不满的情况)。
三、
①状态dp[i][j]表示将前i个物品装入容量为j的背包。
②将dp全部赋值为0,即一些取不到的状态也当成合法的(对应背包允许装不满的情况)。
四、
①状态dp[i][j]表示将前i个物品装入容量为j的背包。
②只将最开始的状态赋值为0,其他赋值为-1(表示是不合法状态)