首先可以将多重背包的每一种物品的数量都看做一种物品,这样就转化成了01背包。但是由于数据过大会超时。 所以在这里采用二进制的优化,可以使用二进制将其某种物品的数量捆绑成1,2,4,8.。。。。。。这样可以将表示的数量缩短。 然后采用01背包的做法即可。 #include <bits/stdc++.h> using namespace std; struct Node{ int weight; int val...