1 条题解

  • 0
    @ 2021-02-06 21:28:07

    本题是0/1背包
    价值v要乘上重量w
    开long long!数组要大!
    我关于0/1背包的讲解:【精讲】DP经典问题——0/1背包问题

    #include<cstdio>
    using namespace std;
    int n,t,w,v,f[1001];
    int max(int x,int y){
        if(x>y)return x;
        else return y;
    }
    int main(){
        scanf("%d%d",&n,&t);
        for(int i=1;i<=t;i++)
        {
            scanf("%d%d",&w,&v);
            for(int j=n;j>=w;j--)
                f[j]=max(f[j],f[j-w]+v);        
        }
    
        printf("%d",f[n]);
    }
    
  • 1

信息

难度
4
分类
(无)
标签
递交数
37
已通过
17
通过率
46%
被复制
1
上传者