摘要: 本题仍是0-1背包问题,只不过背包的容量限制从一维变成了两维。 dp[i][j]: 最多有i个0和j个1的最大子集的长度 转移方程: dp[i][j]=max(dp[i][j],dp[i-zeroNum][j-oneNum]+1) zeroNum,oneNum是当前遍历到的字符串中0和1的数量 cl 阅读全文
posted @ 2022-02-26 20:01 livingsu 阅读(36) 评论(0) 推荐(0)
摘要: 由于nums中元素全为正数,设nums所有元素之和为sum,加号之和为x,则减号的绝对值之和为sum-x,则 x-(sum-x)=target 得到x=(sum+target)/2 所以问题变成:在nums中选择子集,使得子集之和为x的方案数量。 dp[i][j]: 0~i下标中选择,使得子集和为j 阅读全文
posted @ 2022-02-26 12:08 livingsu 阅读(30) 评论(0) 推荐(0)