
动态规划.背包
文章平均质量分 50
liurui39660
这个作者很懒,什么都没留下…
展开
-
hdu 4508
hdu 4508这个问题的核心就是下面最长的那个公式,额也写了很长(但没什么用)的注释,首先注意,这里运用了一下压缩的办法,原本这里是二重循环,因此这里也应该开二维数组,不过这个问题没有必要,只要在原有数据上动手即可,因此第一层循环只当是计数而已了。那么再来详细看看这个公式,首先需要明白一个问题,每一次更新的数据(以没有压缩为例),都是在当时的情况下的最优解,因此该算法实质上相当于是最优解的转原创 2016-04-19 21:23:54 · 358 阅读 · 0 评论 -
hdu 2159
题目概述:某人打游戏升级,还需a点经验,最大忍耐度b,怪有c种,各种杀怪合计不超过d个每种怪有经验e和消耗忍耐度f两种属性(当然也有算1只怪的属性)若在忍耐范围能升级,输出最多剩下多少忍耐度,否则输出-1输入:第一行是a,b,c,d,后面c行每行是e,f,多组数据到eof为止输出:每组数据一行,剩余的忍耐度或-1样例输入:10 10 1 101 110原创 2016-04-20 20:35:23 · 390 阅读 · 0 评论 -
hdu 2191
题目概述:有times组数据背包大小lim,有kind种物品每种物品大小c,价值v,有n个输入:第一行times,下一行lim,kind,其后kind行,每行c,v,n,多组数据之间没有空行输出:每行一个数,包能装的最大价值样例输入:38 22 100 44 100 214 32 100 44 100 2 1 100 313原创 2016-04-21 16:45:33 · 360 阅读 · 0 评论 -
hdu 2602
题目概述:有times组数据物品有kind种,背包大小lim每种物品只有一个,价值v,大小c输入:第一行times,下一行kind,lim,下一行有kind个数,是每种物品的价值,再下一行的kind个数是对应上一行物品的大小,多组数据之间没有空行输出:每行一个数,背包能装下的最大价值样例输入:15 101 2 3 4 55 4 3 2 1样例输出原创 2016-04-20 22:56:06 · 297 阅读 · 0 评论 -
poj 1276
题目概述一个ATM机里有多种面额不同的货币,每种储量不同,有人要取钱时,会吐出尽可能多但不超过要取钱数的钱,给出要取钱数request,货币种数N,货币面额deno及储量num,问最多会吐出多少钱时限1000ms/3000ms输入每行第一个整数request,第二个整数N,其后2*N个整数 分别为num和deno,输入到EOF结束限制0<=N<=10;0<=num<=1000;1<=deno<=10原创 2016-07-25 16:34:42 · 332 阅读 · 0 评论 -
hdu 1203
题目概述一个人有N元,打算申请M个学校,每个学校申请费cost元,录取率value,求最大录取率时限1000ms/2000ms输入每组数据第一行两个正整数N,M,其后M行,每行一个正整数cost和一个正浮点数value,输入以N=M=0结束限制0<=N<=10000;0<=M<=10000输出每行一个浮点百分数和一个百分号,最大录取率,百分数精确到小数点后一位样例输入 10 3 4 0.1原创 2016-07-18 22:07:12 · 431 阅读 · 0 评论 -
hdu 2844
题目概述给定N种钱,每种面值v,数量n,问可凑出的总价值中有多少种在(0,M]范围之间时限1000ms/2000ms输入每组数据第一行两个正整数N,M,下一行前N个为正整数v,后N个为正整数n,面值与数量相互对应,输入以N=M=0结束限制1<=N<=100;M<=100000;1<=v<=100000;1<=n<=1000;输出每行一个数,范围内可凑出的总价值种类数样例输入 3 10 1原创 2016-07-19 21:43:47 · 470 阅读 · 0 评论