Piggy-Bank(复习完全背包)

传送门

题目大意:

有一个存钱的储存罐,给你它存满钱之前和之后的重量,和几类硬币的面值和重量。

求装满储钱罐时最小能得到多少钱。

题解:完全背包变形。

因为要求最小 一开始赋值大数。

code:

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int w1,w2,wi,t,k,f[10002],v[510],w[510];
int main()
{
    scanf("%d",&t);
    while(t--)
    {
        memset(f,0x3f,sizeof(f));
        f[0]=0; //**
        scanf("%d%d",&w1,&w2);
        wi=w2-w1;
        scanf("%d",&k);
        for(int i=1;i<=k;i++)
        scanf("%d%d",&v[i],&w[i]);
        for(int i=1;i<=k;i++)
        for(int j=w[i];j<=wi;j++)
        f[j]=min(f[j],f[j-w[i]]+v[i]);
        if(f[wi]==0x3f3f3f3f)
        printf("This is impossible.\n");
        else
        printf("The minimum amount of money in the piggy-bank is %d.\n",f[wi]);
    }
    return 0;
}
时间: 2024-11-06 05:59:56

Piggy-Bank(复习完全背包)的相关文章

【bzoj1531】[POI2005]Bank notes 多重背包dp

题目描述 Byteotian Bit Bank (BBB) 拥有一套先进的货币系统,这个系统一共有n种面值的硬币,面值分别为b1, b2,..., bn. 但是每种硬币有数量限制,现在我们想要凑出面值k求最少要用多少个硬币. 输入 第一行一个数 n, 1 <= n <= 200. 接下来一行 n 个整数b1, b2,..., bn, 1 <= b1 < b2 < ... < b n <= 20 000, 第三行 n 个整数c1, c2,..., cn, 1 <

dp复习 背包[礼物]

[问题描述]人生赢家老王在网上认识了一个妹纸,然后妹纸的生日到了,为了表示自己的心意,他决定送她礼物.可是她喜爱的东西特别多,然而他的钱数有限,因此他想知道当他花一定钱数后剩余钱数无法再购买任何一件剩余物品(每种物品他最多买一个)时有多少种方案,两种方案不同,当且仅当两种方案中至少有一件品不同,可是由于他忙着准备泡下一个妹纸(chi),因此麻烦聪明的你帮帮忙.[输入格式]输入第一行 n 和 m, n 表示妹纸喜欢的礼物数目, m 表示现有的钱数,第二行 n个数,表示 n 个物品的价格.[输出格式

BZOJ 1531 POI2005 Bank notes 多重背包

题目大意:多重背包 一大早就水了个题233 #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #define M 20200 using namespace std; int n,k,b[220],c[220]; int f[M]; int main() { int i,j,k; cin>>n; for(i=1;i<=n;i++) sc

codevs 3269 混合背包(复习混合背包)

传送门 [题目大意]给出物品的数量.-1为无限个. [思路]混合背包.... [code] #include<iostream> #include<cstdio> #include<cstdlib> using namespace std; int w[100000],v[100000],c[10000],dp[20000000]; int main() { int vv,n; scanf("%d%d",&n,&vv); for(in

复习1背包dp

背包问题是对于一个有限制的容器,一般计算可以装的物品的价值最值或数量.通常每个物品都有两个属性空间和价值,有时还有数量或别的限制条件,这个因体而异. 背包大概分成3部分,下面会细述这最经典的3种题型 1.01背包 这是背包中最经典的问题,也是下面两个问题的基础,01背包顾名思义,每种物品要么取,要么不取,也就是1或0. 看下例题Luogu P1164 小A点菜 题目背景 uim神犇拿到了uoi的ra(镭牌)后,立刻拉着基友小A到了一家--餐馆,很低端的那种.uim指着墙上的价目表(太低级了没有菜

ACM Piggy Bank

Problem Description Before ACM can do anything, a budget must be prepared and the necessary financial support obtained. The main income for this action comes from Irreversibly Bound Money (IBM). The idea behind is simple. Whenever some ACM member has

HAOI2010 软件安装 有依赖的背包DP

题目描述 现在我们的手头有N个软件,对于一个软件i,它要占用Wi的磁盘空间,它的价值为Vi.我们希望从中选择一 些软件安装到一台磁盘容量为M计算机上,使得这些软件的价值尽可能大(即Vi的和最大). 但是现在有个问题:软件之间存在依赖关系,即软件i只有在安装了软件j(包括软件j的直接或间接依赖)的情况下才能正确工作(软件i依赖软件j).幸运的 是,一个软件最多依赖另外一个软件.如果一个软件不能正常工作,那么它能够发挥的作用为0. 我们现在知道了软件之间的依赖关系:软件i依赖软件Di.现在请你设计出

寒假训练5解题报告

1.HDU 1114 Piggy Bank 一道简单的背包问题 #include <iostream> #include <cstdio> #include <cstring> using namespace std; #define ll long long const int N = 10005; const int INF = 0x3f3f3f3f; int dp[N]; int main() { // freopen("a.in" , &qu

动物名词

dog    n. 狗 I love dogs. Dogs are man's best friends. The dog is very cute. cat    n. 猫 I have a cat The cat is white The cat likes sleeping puppy    n. 小狗 doggie    n. 小狗 kitty    n. 小猫 rooster    n. 公鸡 It's hard to see a rooster in big cities. I sa