backpack 4 (lintcode 562)
2019-02-12 本文已影响0人
Ariana不会哭
![](https://img.haomeiwen.com/i15423476/97b75e52390a3896.png)
注意特例:
![](https://img.haomeiwen.com/i15423476/4e19f9a996a69c84.png)
![](https://img.haomeiwen.com/i15423476/2677fbeb56c87e18.png)
//my
///i562
class Solution {
public:
int backPackIV(vector<int> &A, int m) {
int ss = A.size();
vector<vector<int>> dp(ss + 1, vector<int>(m + 1, 0));
dp[0][0] = 1;
for (int i = 1; i <= ss; i++) {
for (int j = 0; j <= m; j++) {
int k = 0;
while (k * A[i - 1] <= j) {
dp[i][j] += dp[i - 1][j - A[i - 1] * k];
k += 1;
}
} // for j
} // for i
return dp[ss][m];
}
};