BZOJ_1618_ [Usaco2008_Nov]_Buying_Hay_购买干草(动态规划,完全背包)

描述



http://www.lydsy.com/JudgeOnline/problem.php?id=1618

有n种物品,每种物品有价值和重量,可以无限拿.现在要满足价值之和大于等于h,问最小重量.

分析



完全背包,模板是给定重量求价值最大,这道题是给定价值求重量最小.其实差不多的.

p.s.大概我只能做出来这种水题了.

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3
 4 const int N=100+5,W=50000+5,INF=0x3fffffff;
 5 int n,h;
 6 int dp[W],w[N],v[N];
 7 inline void read(int &ret){
 8     ret=0; int k=1; char c;
 9     for(c=getchar();c<‘0‘||c>‘9‘;c=getchar())if(c==‘-‘) k=-1;
10     for(;c>=‘0‘&&c<=‘9‘;c=getchar()) ret=ret*10+c-‘0‘;
11     ret*=k;
12 }
13 int main(){
14     read(n); read(h);
15     for(int i=1;i<=n;i++) read(v[i]), read(w[i]);
16     for(int i=1;i<=h;i++) dp[i]=INF;
17     for(int i=1;i<=n;i++)for(int j=1;j<=h;j++){
18         if(v[i]>=j) dp[j]=min(dp[j],w[i]);
19         else dp[j]=min(dp[j],dp[j-v[i]]+w[i]);
20     }
21     printf("%d\n",dp[h]);
22     return 0;
23 }

1618: [Usaco2008 Nov]Buying Hay 购买干草

Time Limit: 5 Sec  Memory Limit: 64 MB
Submit: 950  Solved: 488
[Submit][Status][Discuss]

Description

约翰的干草库存已经告罄,他打算为奶牛们采购日(1≤日≤50000)磅干草.

他知道N(1≤N≤100)个干草公司,现在用1到N给它们编号.
第i个公司卖的干草包重量为Pi(1≤Pi≤5000)磅,需要的开销为Ci(l≤Ci≤5000)美元.每个干草公司的货源都十分充足,可以卖出无限多
的干草包.    帮助约翰找到最小的开销来满足需要,即采购到至少H磅干草.

Input

第1行输入N和日,之后N行每行输入一个Pi和Ci.

Output

最小的开销.

Sample Input

2 15
3 2
5 3

Sample Output

9

FJ can buy three packages from the second supplier for a total cost of 9.

HINT

Source

Silver

时间: 2024-08-28 13:32:25

BZOJ_1618_ [Usaco2008_Nov]_Buying_Hay_购买干草(动态规划,完全背包)的相关文章

【bzoj 1606】 [Usaco2008 Dec]Hay For Sale 购买干草 01背包

1606: [Usaco2008 Dec]Hay For Sale 购买干草 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 978 Solved: 735 [Submit][Status][Discuss] Description 约翰遭受了重大的损失:蟑螂吃掉了他所有的干草,留下一群饥饿的牛.他乘着容量为C(1≤C≤50000)个单位的马车,去顿因家买一些干草. 顿因有H(1≤H≤5000)包干草,每一包都有它的体积Vi(l≤Vi≤C).约翰只能整

bzoj1618: [Usaco2008 Nov]Buying Hay 购买干草 完全背包

题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1618 1618: [Usaco2008 Nov]Buying Hay 购买干草 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 939 Solved: 481 [Submit][Status][Discuss] Description 约翰的干草库存已经告罄,他打算为奶牛们采购日(1≤日≤50000)磅干草. 他知道N(1≤N≤100)个干草公司,

[BZOJ] 1618: [Usaco2008 Nov]Buying Hay 购买干草

1618: [Usaco2008 Nov]Buying Hay 购买干草 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 1216  Solved: 633[Submit][Status][Discuss] Description 约翰的干草库存已经告罄,他打算为奶牛们采购H(1≤H≤50000)磅干草,他知道N(1≤N≤100)个干草公司,现在用1到 N给它们编号.第i个公司卖的干草包重量为Pi(1≤Pi≤5000)磅,需要的开销为Ci(l≤Ci≤5

BZOJ【1606】购买干草

1606: [Usaco2008 Dec]Hay For Sale 购买干草 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 859  Solved: 638[Submit][Status][Discuss] Description 约翰遭受了重大的损失:蟑螂吃掉了他所有的干草,留下一群饥饿的牛.他乘着容量为C(1≤C≤50000)个单位的马车,去顿因家买一些干草.  顿因有H(1≤H≤5000)包干草,每一包都有它的体积Vi(l≤Vi≤C).约翰只能

bzo1606: [Usaco2008 Dec]Hay For Sale 购买干草

1606: [Usaco2008 Dec]Hay For Sale 购买干草 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 1338  Solved: 991[Submit][Status][Discuss] Description 约翰遭受了重大的损失:蟑螂吃掉了他所有的干草,留下一群饥饿的牛.他乘着容量为C(1≤C≤50000)个单位的马车,去顿因家买一些干草.  顿因有H(1≤H≤5000)包干草,每一包都有它的体积Vi(l≤Vi≤C).约翰只

BZOJ 1618: [Usaco2008 Nov]Buying Hay 购买干草( dp )

无限背包dp.. 因为题目中说至少到 H 磅 , 我就直接把 H * 2 了.. -------------------------------------------------------------------------- #include<cstdio> #include<algorithm> #include<cstring> #include<iostream> #define rep( i , n ) for( int i = 0 ; i &

BZOJ1606: [Usaco2008 Dec]Hay For Sale 购买干草

1606: [Usaco2008 Dec]Hay For Sale 购买干草 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 612  Solved: 463[Submit][Status] Description 约翰遭受了重大的损失:蟑螂吃掉了他所有的干草,留下一群饥饿的牛.他乘着容量为C(1≤C≤50000)个单位的马车,去顿因家买一些干草.  顿因有H(1≤H≤5000)包干草,每一包都有它的体积Vi(l≤Vi≤C).约翰只能整包购买, 他最多

[bzoj 1606] [Usaco2008 Dec]Hay For Sale 购买干草 (dp)

1606: [Usaco2008 Dec]Hay For Sale 购买干草 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 1307  Solved: 964[Submit][Status][Discuss] Description 约翰遭受了重大的损失:蟑螂吃掉了他所有的干草,留下一群饥饿的牛.他乘着容量为C(1≤C≤50000)个单位的马车,去顿因家买一些干草.  顿因有H(1≤H≤5000)包干草,每一包都有它的体积Vi(l≤Vi≤C).约翰只

动态规划(背包题目)

完全背包 hdu 1248 寒冰王座 hdu 1284 钱币兑换问题 hdu 3732 Ahui Writes Word:将01背包转化为多重背包,即完全背包. 0-1背包 hdu 2546 饭卡:因为要占最大的便宜,所以留5元买最贵的菜,因为每种菜只能买一次,用0-1背包 求出买菜用的最大支出 hdu 3466 Proud Merchants:当钱少于Qi时,不将物品卖出,计算过程中要注意方程无后效性,对 Pi-Qi进行排序,小的排在前面.然后用0-1背包解题,其中的约束条件为拥有的钱不少于Q