AcWing 9. 分组背包问题
Posted qingyuyyyyy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AcWing 9. 分组背包问题相关的知识,希望对你有一定的参考价值。
#include <iostream> #include <algorithm> using namespace std; const int N = 110; int n, m; int v[N][N], w[N][N], s[N]; int f[N]; int main() { cin >> n >> m; for (int i = 1; i <= n; i ++ ) { cin >> s[i]; for (int j = 0; j < s[i]; j ++ ) cin >> v[i][j] >> w[i][j]; } for (int i = 1; i <= n; i ++ ) for (int j = m; j >= 0; j -- ) for (int k = 0; k < s[i]; k ++ ) if (v[i][k] <= j) f[j] = max(f[j], f[j - v[i][k]] + w[i][k]); cout << f[m] << endl; return 0; }
以上是关于AcWing 9. 分组背包问题的主要内容,如果未能解决你的问题,请参考以下文章