(1. )01背包,算法分析:
算法优化:(转为一维进行存储) :
代码实现:
P8742 [蓝桥杯 2021 省 AB] 砝码称重:
dp[0] = 1;
for (int i = 1; i <= n; i++) {
for (int j = sum; j >= w[i]; j--) {
dp[j] |= dp[j - w[i]];
}
for (int j = sum - w[i]; j >= 0; j--) {
dp[j + w[i]] |= dp[j];
}
}
for (int i = 1; i <= sum; i++) {
if (dp[i]) ans++;
}