zoukankan      html  css  js  c++  java
  • Piggy-Bank(完全背包)

    HDU - 1114

    题目翻译:

    在acm能够做任何事情之前, 必须编制预算并获得必要的财政支持。这一行动的主要收入来自IBM。这个想法其实很简单,每当一些会员有一点小钱时,他就会把所有的硬币都扔到小猪存钱罐里。这个过程是不可逆转的, 除非打破猪,否则硬币不能拿出来。过了足够长的时间, 存钱罐里应该有足够的现金来支付所有需要支付的费用。

    但存钱罐存在很大问题:不可能确定里面有多少钱。所以我们可能敲破猪才发现没有足够的钱。显然, 我们要避免这种不愉快的情况,唯一的可能是称重猪,并试图猜测里面有多少枚硬币。假设我们能够准确地确定猪的重量, 而且我们知道给定货币的所有硬币的重量。然后在存钱罐里有一些最低数量的钱, 我们可以保证。你的任务是找出这个最坏的情况, 并确定在存钱罐内的最低现金金额。

    大致意思:给你空猪和装满硬币的猪的重量,然后再给你一些硬币数量和它的质量,让你去算实现的最低金额的硬币。注意这道题是必须要刚好装满的,如果装不满就不行。

    思路:完全背包,一开始将dp[0]赋值为0,其他dp的值赋为INF(0x3f3f3f3f),dp[j]=min(dp[j],dp[j-c[i]]+w[i])(这个转移方程具体怎么来的,看https://www.cnblogs.com/jbelial/articles/2116074.html),最后去看dp[猪的质量差]是否等于INF,如果等于,那么没有刚好装满,输出题目所给的字符串,如果不等,就输出dp[猪的质量差]。

    具体代码如下:

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<algorithm>
     5 using namespace std;
     6 const int maxn = 505;
     7 const int minn = 10005;
     8 const int INF = 0x3f3f3f3f;
     9 int c[maxn];
    10 int w[maxn];
    11 int dp[minn];
    12 int main(){
    13     int t;
    14     scanf("%d", &t);
    15     while(t--){
    16         int E;
    17         int F;
    18         memset(dp, INF, sizeof dp);
    19         dp[0] = 0;
    20         scanf("%d%d", &E, &F);
    21         int n;
    22         scanf("%d", &n);
    23         for(int i=1;i<=n;i++){
    24             scanf("%d", &w[i]);
    25             scanf("%d", &c[i]);
    26         }
    27         int v = F - E;
    28         for(int i=1;i<=n;i++){
    29             for (int j = c[i]; j <= v;j++){
    30                 dp[j] = min(dp[j] , dp[j - c[i]] + w[i]);
    31             }
    32         }
    33         if(dp[v]!=INF)
    34             cout << "The minimum amount of money in the piggy-bank is " << dp[v] <<"."<< endl;
    35         else {
    36             cout << "This is impossible." << endl;
    37         }
    38     }
    39 }

    最后祝各位大佬身体健康,ac愉快

     1 /**********/**********/**********//**********//**********//**********//**********/  
     2 <!--
     3                        ::
     4                       :;J7, :,                        ::;7:
     5                       ,ivYi, ,                       ;LLLFS:
     6                       :iv7Yi                       :7ri;j5PL
     7                      ,:ivYLvr                    ,ivrrirrY2X,
     8                      :;r@Wwz.7r:                :ivu@kexianli.
     9                     :iL7::,:::iiirii:ii;::::,,irvF7rvvLujL7ur
    10                    ri::,:,::i:iiiiiii:i:irrv177JX7rYXqZEkvv17
    11                 ;i:, , ::::iirrririi:i:::iiir2XXvii;L8OGJr71i
    12               :,, ,,:   ,::ir@mingyi.irii:i:::j1jri7ZBOS7ivv,
    13                  ,::,    ::rv77iiiriii:iii:i::,rvLq@huhao.Li
    14              ,,      ,, ,:ir7ir::,:::i;ir:::i:i::rSGGYri712:
    15            :::  ,v7r:: ::rrv77:, ,, ,:i7rrii:::::, ir7ri7Lri
    16           ,     2OBBOi,iiir;r::        ,irriiii::,, ,iv7Luur:
    17         ,,     i78MBBi,:,:::,:,  :7FSL: ,iriii:::i::,,:rLqXv::
    18         :      iuMMP: :,:::,:ii;2GY7OBB0viiii:i:iii:i:::iJqL;::
    19        ,     ::::i   ,,,,, ::LuBBu BBBBBErii:i:i:i:i:i:i:r77ii
    20       ,       :       , ,,:::rruBZ1MBBqi, :,,,:::,::::::iiriri:
    21      ,               ,,,,::::i:  @arqiao.       ,:,, ,:::ii;i7:
    22     :,       rjujLYLi   ,,:::::,:::::::::,,   ,:i,:,,,,,::i:iii
    23     ::      BBBBBBBBB0,    ,,::: , ,:::::: ,      ,,,, ,,:::::::
    24     i,  ,  ,8BMMBBBBBBi     ,,:,,     ,,, , ,   , , , :,::ii::i::
    25     :      iZMOMOMBBM2::::::::::,,,,     ,,,,,,:,,,::::i:irr:i:::,
    26     i   ,,:;u0MBMOG1L:::i::::::  ,,,::,   ,,, ::::::i:i:iirii:i:i:
    27     :    ,iuUuuXUkFu7i:iii:i:::, :,:,: ::::::::i:i:::::iirr7iiri::
    28     :     :rk@Yizero.i:::::, ,:ii:::::::i:::::i::,::::iirrriiiri::,
    29      :      5BMBBBBBBSr:,::rv2kuii:::iii::,:i:,, , ,,:,:i@petermu.,
    30           , :r50EZ8MBBBBGOBBBZP7::::i::,:::::,: :,:,::i;rrririiii::
    31               :jujYY7LS0ujJL7r::,::i::,::::::::::::::iirirrrrrrr:ii:
    32            ,:  :@kevensun.:,:,,,::::i:i:::::,,::::::iir;ii;7v77;ii;i,
    33            ,,,     ,,:,::::::i:iiiii:i::::,, ::::iiiir@xingjief.r;7:i,
    34         , , ,,,:,,::::::::iiiiiiiiii:,:,:::::::::iiir;ri7vL77rrirri::
    35          :,, , ::::::::i:::i:::i:i::,,,,,:,::i:i:::iir;@Secbone.ii:::
    36 
    37 --
    38 
    39 
    40 /**
    View Code
  • 相关阅读:
    Go Example--json
    Go-struct
    Flutter高级进阶------Flutter Package、Flutter Plugin、Flutter Module
    Flutter项目实操---资讯、发布动弹
    Kotlin项目实战之手机影音---首页mvp重构、网络框架封装、重构首页数据加载、home页面view解绑
    vscode多处编辑
    配制vscode环境
    vscode配制perl环境
    R基本函数总结
    Git使用方法
  • 原文地址:https://www.cnblogs.com/kitalekita/p/13392963.html
Copyright © 2011-2022 走看看