2 条题解

  • 0
    #include <iostream>
    using namespace std;
    int v[30050],w[30050],s[30050],dp[30050];
    int main() 
    {
        int i,j,n,m;
        cin>>m>>n;
        for(i=1;i<=n;i++)
            cin>>w[i]>>v[i];
        for(i=1;i<=n;i++) 
            for(j=m;j>=w[i];j--) 
                dp[j]=max(dp[j],dp[j-w[i]]+v[i]*w[i]);
        cout<<dp[m];
        return 0;
    }[&](http://)
    
  • 0

    #include<bits/stdc++.h>
    using namespace std;
    int t,w,v,n,dp[100001];
    int main(){
    cin>>t>>n;
    for(int i=1;i<=n;i++){
    cin>>w>>v;
    for(int j=t;j>=w;j--) {
    dp[j]=max(dp[j],dp[j-w]+w*v);
    }
    }
    cout<<dp[t];
    return 0;
    }

  • 1

信息

ID
1451
难度
6
分类
动态规划 | 背包 点击显示
标签
递交数
131
已通过
33
通过率
25%
上传者