摘要: 现有n件物品和一个容量为c的背包。第i件物品的重量是重量为w[i],价值是v[i]。已知对于一件物品必须选择取(用1表示)或者不取(用0表示),且每件物品只能被取一次(这就是“0-1”的含义)。求放置哪些物品进背包,可使这些物品的重量总和不超过背包容量,且价值总和最大。 01背包问题: c[i][j 阅读全文
posted @ 2018-08-03 11:32 何许 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 参考:http://blog.sina.com.cn/s/blog_61034ad90100encg.html f[i][j]表示i时刻移动j次的情况,f[i][j] = Max(f[i - 1][j], f[i - 1][j - 1]) + int(a[i] == (j + 1) % 2) 表示这 阅读全文
posted @ 2018-08-03 11:23 何许 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 参考https://www.cnblogs.com/grandyang/p/6103525.html 思路是遍历每一种可能性,得出必胜的走法。然而,用递归会存在很多的重复计算,所以可用动态规划存储下计算的状态,用map<int,bool>存储,其中int对应current,考虑,所以可以用int来存 阅读全文
posted @ 2018-08-03 11:16 何许 阅读(338) 评论(0) 推荐(0) 编辑