码迷,mamicode.com
首页 > 其他好文 > 详细

hdu 2602 Bone Collector 01背包

时间:2015-02-17 23:33:13      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602

 

裸的01背包

 

#include <cstdio>
#include <cstdlib>
#include <ctime>
#include <iostream>
#include <cmath>
#include <cstring>
#include <algorithm>
#include <stack>
#include <set>
#include <queue>
#include <vector>

using namespace std;

typedef long long ll;

const int maxn = 1010;

int w[maxn], c[maxn], f[maxn];
int ans;
int n, V;


void ZeroOnePack(int cost, int weight)
{
    for(int i = V; i >= cost; i--)
    {
        f[i] = max(f[i], f[i-cost] + weight);
        if(f[i] > ans)
            ans = f[i];
    }
}

int main()
{
    //freopen("in.txt", "r", stdin);

    int T;
    scanf("%d", &T);

    while(T--)
    {
        ans = 0;
        memset(f, 0, sizeof(f));

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

        for(int i = 0; i < n; i++)
            scanf("%d", &w[i]);
        for(int i = 0; i < n; i++)
            scanf("%d", &c[i]);

        for(int i = 0; i < n; i++)
            ZeroOnePack(c[i], w[i]);

        printf("%d\n", ans);
    }

    return 0;
}

 

hdu 2602 Bone Collector 01背包

标签:

原文地址:http://www.cnblogs.com/dishu/p/4295557.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!