hdu2063investment题解(完全背包)

原创 2016年05月30日 22:59:53

这道题需要一个小技巧,由于所有的value都是multiple of 1000,所以将总钱数除以1000,每个value除以1000,将dp数组的大小降下来
状态转移方程:
dp[k]=Max(dp[k-bond1[j]]+bond2[j],dp[k]);

#include <stdio.h>
#include <string.h>
#define bttm 1000
#define M(X,Y) ((X)>(Y)?(X):(Y))
int bond1[12];
int dp[50050],bond2[12];
int main(int argc, char const *argv[])
{
    int N,amnt,yr,i,num,j,k,tmp;
    scanf("%d",&N);
    while(N--)
    {
        scanf("%d %d",&amnt,&yr);
        scanf("%d",&num);
        for(i=0;i<num;i++)
        {
            scanf("%d %d",bond1+i,bond2+i);
            bond1[i]/=bttm;
        }
        for(i=0;i<yr;i++)
        {
            tmp=amnt/bttm;
            memset(dp,0,sizeof(dp));
            for(j=0;j<num;j++)
                {
                    for(k=bond1[j];k<=tmp;k++)
            dp[k]=M(dp[k-bond1[j]]+bond2[j],dp[k]);
                }
            amnt+=dp[tmp];
        }
        printf("%d\n",amnt);
    }
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

完全背包总结

完全背包问题: 题目 有N种物品和一个容量为V的背包。第i种物品有若干件可用,每件费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。 ...
  • HowardEmily
  • HowardEmily
  • 2017年02月15日 21:23
  • 2534

完全背包(装满)模板

完全背包 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述 直接说题意,完全背包定义有N种物品和一个容量为V的背包,每种物品都有无限件可用。...
  • xunalove
  • xunalove
  • 2017年05月04日 10:28
  • 617

动态规划入门之完全背包

完全背包问题(UKP, unbounded knapsack problem):每种物品都有无限个可用   最简单思路就是把完全背包拆分成01背包,就是把01背包中状态转移方程dp[i][j]=dp[...
  • qq379666774
  • qq379666774
  • 2013年12月26日 14:59
  • 1114

完全背包---动态规划

描述 直接说题意,完全背包定义有N种物品和一个容量为V的背包,每种物品都有无限件可用。第i种物品的体积是c,价值是w。求解将哪些物品装入背包可使这些物品的体积总和不超过背包容量,且价值总和最大。本题...
  • u013174702
  • u013174702
  • 2015年05月15日 10:35
  • 721

二维完全背包

题目:hdu2159 题意:xhd升掉最后一级还需n的经验值,xhd还留有m的忍耐度,每杀一个怪xhd会得到相应的经验,并减掉相应的忍耐度。当忍耐度降到0或者0以下时,xhd就不会玩这游戏。xhd还...
  • Sleppypot
  • Sleppypot
  • 2016年09月18日 11:01
  • 618

完全背包问题(二进制解法)

题目 有N件物品和一个容量为V的背包。第i件物品的重量是w[i]。求解将哪些物品装入背包可使这些物品的重量总和不超过背包容量的最大重量。 基本思路 首先,我想分析一下这个题目大暴力时,复杂度为...
  • sdlwzzm19971226
  • sdlwzzm19971226
  • 2017年03月02日 10:03
  • 554

完全背包问题讲解(dp)

此题之前先分析两种常见的背包问题,01背包与完全背包 01背包:在M件物品中取出若干件物品放到背包中,每件物品对应的体积v1,v2,v3,....对应的价值为w1,w2,w3,,,,,每件物品之多拿...
  • Yumerina
  • Yumerina
  • 2017年02月14日 14:42
  • 1728

poj1014完全背包 hdu2191多重背包 经典二进制优化

多重背包或者完全背包转换成 01 背包问题就是多了个二进制优化 把它的件数C 用分解成若干个件数的集合 这里面数字可以组合成任意小于等于C 的件数,而且不会重复 之所以叫二进制分解,是因为这样分解可以...
  • Summer__show_
  • Summer__show_
  • 2016年05月25日 20:32
  • 707

hdu3127WHUgirls【二维完全背包】

Problem Description There are many pretty girls in Wuhan University, and as we know, every girl lov...
  • zhou_yujia
  • zhou_yujia
  • 2015年10月29日 15:53
  • 324

(经典)POJ-3181 完全背包+大数处理

题目大意:给定N,K,用1-K组成N,一共有多少组合方法? 题目链接:点击打开链接 分析: 这题属于完全部分和问题,其实也可以理解为划分数问题。如n为3,k为2时,有 1+2 ...
  • AC_hell
  • AC_hell
  • 2016年05月14日 16:26
  • 393
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hdu2063investment题解(完全背包)
举报原因:
原因补充:

(最多只允许输入30个字)