摘要: 分析: 这是道二维费用的背包问题,可以像01背包一样优化掉第一维的决策,选或不选这个袋子,然后需要像01背包一样倒序循环体积,和01背包的优化一样。 其次,这道题的难点是可以买多,只要买够就行,我们只需要对负数的体积取0就行,表示我们即使当前需要的饮料小于袋子中的饮料数量,我们依然可以购买,只要从0 阅读全文
posted @ 2020-07-31 15:07 Sexyomaru 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 分析:贪心加回溯 import java.util.*; public class Solution { /** * 返回最后要输出的答案 * @param n int整型 表示牛牛的数字 * @param m int整型 表示牛妹的数字 * @return int整型 */ public int 阅读全文
posted @ 2020-07-31 15:06 Sexyomaru 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 分析: 首先我们要思考如果让这个NP完全题目复杂度降低,那么可以优先考虑到使用位运算,状态压缩等解决思路。 然后接着思考,我们可以发现,我们所需要的不是整个方案,而只是方案最优解,所以我们只需要记录当前这个方案的最优解即可,那么我们考虑的状态,不久只有,在当前方案i中,目前抵达的点是j。 现在既然装 阅读全文
posted @ 2020-07-31 14:17 Sexyomaru 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 分析: 1. 所谓的状态压缩DP,就是用二进制数保存状态。为什么不直接用数组记录呢?因为用一个二进制数记录方便作位运算。 2. 本题等价于找到所有横放 1 X 2 小方格的方案数,因为所有横放确定了,那么竖放方案是唯一的。 3. 用f[i][j]记录第i-1列已经充满且第i列第j个状态。j状态位等于 阅读全文
posted @ 2020-07-31 11:05 Sexyomaru 阅读(196) 评论(0) 推荐(0) 编辑