分组背包 – 算法板子
文章目录

  • Code

Code

#include<bits/stdc++.h> using namespace std; const int N = 110; int s[N], v[N][N], w[N][N]; int f[N]; int m, n; int main() {     cin >> m >> n;     for (int i = 1; i <= m; ++i) {         cin >> s[i];         for (int j = 1; j <= s[i]; ++j) {             cin >> v[i][j] >> w[i][j];         }     }     for (int i = 1; i <= m; ++i) {         for (int j = n; j >= 0; --j) {             for (int k = 1; k <= s[i]; ++k) {                 if (j >= v[i][k])                     f[j] = max(f[j], f[j - v[i][k]] + w[i][k]);             }         }     }     cout << f[n] << endl;     return 0; }

分组背包 – 算法板子leetcode刷题题解部分资料来自网络,侵权毕设源码联系删除

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 分组背包 – 算法板子leetcode刷题题解