hdu 1114 Piggy-Bank(完全背包)

点击打开链接hdu1114

思路: 裸完全背包

代码:

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;

const int INF = 0x3f3f3f3f;
const int N = 510;
const int MAXN = 10010;

int sum , n;
int p[N] , w[N];
int dp[MAXN];

void solve(){
    memset(dp , INF , sizeof(dp));
    dp[0] = 0;
    for(int i = 1 ; i <= n ; i++)
        for(int j = w[i] ; j <= sum ; j++)
           dp[j] = min(dp[j] , dp[j-w[i]]+p[i]);
    if(dp[sum] != INF)
        printf("The minimum amount of money in the piggy-bank is %d.\n" , dp[sum]);
    else
        puts("This is impossible.");
}

int main(){
    int Case , x , y;
    scanf("%d" , &Case);
    while(Case--){
         scanf("%d%d" , &x , &y);
         sum = y-x;
         scanf("%d" , &n);
         for(int i = 1 ; i <= n ; i++)
             scanf("%d%d" , &p[i] , &w[i]);
         solve();
    }
    return 0;
}
时间: 2024-08-02 11:06:05

hdu 1114 Piggy-Bank(完全背包)的相关文章

hdu 2955 Robberies(0/1背包)

点击打开链接hdu 2955 思路: 0/1背包 分析: 1 按照题目的意思我们很容易知道这就是一个0/1背包问题,如果我们把概率当作是背包的容量,那么我们遇到一个问题就是浮点数的dp,因为题目没有告诉我们小数点具体几位,那么我们就不能够通过乘上10^n来转化为整数,所以我们应该考虑换种思想 2 按照正常的思路是dp[i][j]表示前i个物品放入概率为j的最大价值,那么我们这边把价值当成背包来看的话我们设dp[i][j]表示前i个物品放入金钱为j的最小被抓概率(因为题目不好求最小概率我们可以认为

hdu 3466 Proud Merchants(0/1背包)

点击打开链接hdu 3466 思路: 0/1背包 分析: 1 这一题和"hdu2546 饭卡"有点像,但是又有不同,不同的是这一题每一个物品都有一个限制的值Q[i],求最大的价值 2 题目明确提到每一种物品只能卖一次或这不卖,那这明显就是0/1的性质,但是现在多了一个条件钱不能少于Q[i].这边的话我各种YY无果之后,果断看了题解,发现是要按照q-p排序,然后再做dp. 3 经过一番的YY之后,我明白了为什么按照q-p是正确的.我们都知道dp有一个很重要的特点就是无后效性,如果没有金钱

hdu 2639 Bone Collector II (0/1背包)

点击打开链接hdu 2639 思路: 0/1背包求第k优解 分析: 1 其基本思想是,将每个状态都表示成有序队列,将状态转移方程中的 max/min 转 化成有序队列的合并. 2 这里仍然以 01 背包为例讲解一下.    首先看 01 背包求最优解的状态转移方程: F [i, v] = max{F [i − 1, v], F [i − 1, v −Ci ] + Wi }.如果要求第 K 优解,那么状态 F [i, v] 就应该是一个大小为 K 的队列F [i, v, 1 . . . K].其中

【DP专辑】ACM动态规划总结

转载请注明出处,谢谢.   http://blog.csdn.net/cc_again?viewmode=list          ----------  Accagain  2014年5月15日 动态规划一直是ACM竞赛中的重点,同时又是难点,因为该算法时间效率高,代码量少,多元性强,主要考察思维能力.建模抽象能力.灵活度. 本人动态规划博客地址:http://blog.csdn.net/cc_again/article/category/1261899 ******************

《愤怒的小鸟》宣布进军多平台 PC登陆一天就被破解

IPone4平台最红火的游戏<愤怒的小鸟>宣布进军多平台,不仅宣布登陆Android与WP7手机平台,还登陆PS3和PSP平台,最终,还是登陆了PC平台.1月4日,<愤怒的小鸟>正式登陆英特尔应用商店,开放了基于PC平台上的应用下载.然而仅一天多时间,破解版就浮现于互联网. <愤怒的小鸟>大获成功 <愤怒的小鸟>是由芬兰小公司Rovio花10万美元开发的手机小游戏,然而这款基于ipone平台的游戏和ipone4一起风靡全球,为公司赚得盆满钵满,据统计<

迪士尼发布教育类棋牌游戏《存钱罐大冒险》

<存钱罐大冒险(The Great Piggy Bank Adventure)>是一款来自迪士尼的3D棋盘类游戏,通过撒骰子让游戏主角移动,有点近似于大富翁.游戏中玩家可以设定游戏人物的性格和目标,摇动骰子一路前行,并解决各种沿途遇到的问题,挣取更多的钱,并且将这些钱都用到刀刃上,以便保持在游戏中的领先位置.在游戏中你会培养出良好的财务目标,哪些钱该用在什么地方.这款游戏可以免费下载,游戏的主要目的在于教育,不过玩起来也同样有趣.<存钱罐大冒险(The Great Piggy Bank

神庙逃亡2成就攻略 36个成就系统达成方法

神庙逃亡2成就攻略一我们都知道,不管是IOS版本的神庙逃亡2还是安卓版本的神庙逃亡2游戏中,都拥有一个神庙逃亡2成就系统,也就是这款游戏的一大特色,今天为大家带来的就是神庙逃亡2成就攻略,全部36个成就的达成方法.神庙逃亡2成就:第1个至第5个成就1.Novice Runner 初级跑者 跑过500M 2.Pocket Change 换口袋 获得100个硬币3.Adventurer 冒险者 获得25000分4.Sprinter 奔驰 跑过1000M5.Miser Run 吝啬之跑 500M内没有

蚕豆网精品APP推荐第412期

每日看酷闻,当日新鲜IT资讯全Hold住,移动互联耍酷玩Fashion尽在蚕豆!欢迎订阅 蚕豆网.蚕豆网精品APP推荐将每天向朋友们盘点今日最新资讯,想要知道今天又有哪些好玩的游戏以及新鲜的APP,就赶紧戳之吧![产品资讯] 迪士尼发布横版动作游戏<怪兽电力公司>从标题上看,<怪兽电力公司:怪兽快跑(Monster'/s, Inc. Run)>似乎是一款类似<神庙逃亡>的无尽 跑酷游戏,但玩过同样来自迪士尼的<怪物大学>的玩家应该知道,后者才是此类型.这款新

游戏开发商Rovio推游戏内付费平台

北京时间12月11日早间消息,卡通投掷类游戏"愤怒的小鸟"(Angry Birds)的开发商Idosyncratic Rovio(以下简称"Rovio")周五宣布,该公司将推出一个游戏内付费平台,并计划让所有Android开发者都可使用这个平台. Rovio今天宣布推出"坏小猪银行"(Bad Piggy Bank)付费平台,这是一种游戏内支付模式,允许用户去掉免费版"愤怒的小鸟"中的广告,或是购买这款游戏即将推出的升级功能&q