hdu2602(01背包一维)

来源:互联网 发布:php sql select count 编辑:程序博客网 时间:2024/06/03 22:41

给出了包的体积,给出了n个物体的价值和体积,注意这里是每种物品只有一个,稍微有些不同


//

//  main.cpp

//  2602

//

//  Created by Mr.Xue on 17/7/31.

//  Copyright © 2017 Mr.Xue. All rights reserved.

//


#include <iostream>

#include <string.h>

#include <stdio.h>

#include <math.h>

#include <algorithm>

using namespacestd;

struct node

{

    int v,vo;

}a[1005];

long longint dp[1005];

int main()

{

    int t,n,v;

    cin>>t;

    while(t--)

    {

        scanf("%d %d",&n,&v);

        for(int i=0;i<n;i++)

            scanf("%d",&a[i].v);

        for(int i=0;i<n;i++)

            scanf("%d",&a[i].vo);

        memset(dp,0,sizeof(dp));

        for(int i=0;i<n;i++)

        {

            for(int j=v;j>=a[i].vo;j--)

                dp[j]=max(dp[j],dp[j-a[i].vo]+a[i].v);

        }

        cout<<dp[v]<<endl;

    }

    return0;

}



原创粉丝点击