题解 | #【模板】完全背包#

【模板】完全背包

https://www.nowcoder.com/practice/664ccf702ddb43a986e95f41c1196718

完全背包模板

#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N = 2e5 + 5;
int __t = 1, n, m;
void solve() {
    cin >> n >> m;
    vector<int> w(n + 1), v(n + 1), dp(m + 1);
    for (int i = 1; i <= n; i++)
        cin >> w[i] >> v[i];
    for (int i = 1; i <= n; i++)
        for (int j = w[i]; j <= m; j++)
            dp[j] = max(dp[j], dp[j - w[i]] + v[i]);
    cout << dp[m] << '\n';
    return;
}
int32_t main() {
#ifdef ONLINE_JUDGE
    ios::sync_with_stdio(false);
    cin.tie(0);
#endif
    cin >> __t;
    while (__t--)
        solve();
    return 0;
}

全部评论

相关推荐

与火:这不接? 留子的钱不挣白不挣
点赞 评论 收藏
分享
Natrium_:这时间我以为飞机票
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务