题目 题意: 模板题。 思路: 每个组最多选一个,按组存起来,按01背包方式写。 时间复杂度: O(n*m) 代码:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define OldTomato ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr)
#define fir(i,a,b) for(int i=a;i>n>>m;
for(int i=1;i>id;
cin>>v[i]>>w[i];
va[id].push_back(i);
}
for(int i=1;i=v[k])
f[j] = max(f[j],f[j-v[k]]+w[k]);
}
}
}
coutT;
// read(T);
while(T--)
{
solve();
}
return 0;
}