首页 > 其他 > 详细

poj 3624

时间:2014-08-18 20:16:52      阅读:313      评论:0      收藏:0      [点我收藏+]
4 6
1 4 2 6 3 12 2 7



bubuko.com,布布扣
//  poj 3624   标准的01背包   优化的一位数组
#include <iostream>
#include <string.h>
using namespace std;
int w[3500],v[3500],dp[13000];
int main ()
{   int n,m,i,j;
    scanf("%d%d",&n,&m);
    for (i=1;i<=n;i++) scanf("%d%d",&w[i],&v[i]);
    memset(dp,0,sizeof(dp));
    for (i=1;i<=n;i++)
        for (j=m;j>=w[i];j--)
            if (dp[j]<dp[j-w[i]]+v[i])   dp[j]=dp[j-w[i]]+v[i];
    printf("%d\n",dp[m]);
    return 0;
}


bubuko.com,布布扣


//  poj 3624   标准的01背包   优化的一位数组
#include <stdio.h>
int main()
{
    int n, v, i, j, ans, c[3403], w[3403], f[12881];
    scanf("%d %d", &n, &v);
    for (i = 1; i <= n; i++)      scanf("%d %d", &c[i], &w[i]);
    for (i = 0; i <= v; i++)      f[i] = 0;
    for (i = 1; i <= n; i++)
        for (j = v; j >= c[i]; j--)
            if (f[j - c[i]] + w[i] > f[j])  f[j] = f[j - c[i]] + w[i];
    ans = 0;
    for (i = 1; i <= v; i++)
        if (f[i] > ans)     ans = f[i];
    printf("%d\n", ans);
    return 0;
}


poj 3624,布布扣,bubuko.com

poj 3624

原文:http://www.cnblogs.com/2014acm/p/3920247.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!