描述


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

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

分析


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

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

 #include <bits/stdc++.h>
using namespace std; const int N=+,W=+,INF=0x3fffffff;
int n,h;
int dp[W],w[N],v[N];
inline void read(int &ret){
ret=; int k=; char c;
for(c=getchar();c<''||c>'';c=getchar())if(c=='-') k=-;
for(;c>=''&&c<='';c=getchar()) ret=ret*+c-'';
ret*=k;
}
int main(){
read(n); read(h);
for(int i=;i<=n;i++) read(v[i]), read(w[i]);
for(int i=;i<=h;i++) dp[i]=INF;
for(int i=;i<=n;i++)for(int j=;j<=h;j++){
if(v[i]>=j) dp[j]=min(dp[j],w[i]);
else dp[j]=min(dp[j],dp[j-v[i]]+w[i]);
}
printf("%d\n",dp[h]);
return ;
}

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

最新文章

  1. 用jquery实现瀑布流案例
  2. requests的安装与简单运用
  3. OpenCV图像的缩放
  4. 非空二叉树的一个有趣的性质:n0 = n2 + 1
  5. 【读书笔记】iOS-UIFont-动态下载系统提供的多种中文字体网址
  6. sudo简单命令语法及配置
  7. jquery easy ui 1.3.4 事件与方法的使用(3)
  8. BAPI 使用
  9. Ubuntu系统下安装python2.7
  10. SQL经典题
  11. GNU C的使用
  12. EntityFramework Core查询问题集锦(一)
  13. Leetcode刷题第001天
  14. NOIP不开心记(不开心的东西肯定不能给别人看!)
  15. MyBatis基础入门《四》接口方式.Select查询集合
  16. 编写第一个python selenium-webdriver程序(二)
  17. php模板引擎之featherview
  18. VisualStudio:让 XML 支持智能提示
  19. MyBatis接口的简单实现原理
  20. 怎样求逆序对数(Inverse Number)?

热门文章

  1. Java线程间通信--生产者消费者
  2. 九度OJ 1501 最大连续子序列乘积 -- 动态规划
  3. 关于C#虚函数和构造函数的一点理解
  4. VMware10.0.4下 CentOS 6.5 cmake安装 MySQL 5.5.32
  5. linux RedHat6.4下nginx安装
  6. Java知识总结--Servlet&amp;JSP
  7. DevExpress VCL 一键安装工具
  8. SVN菜单说明
  9. Popen No such file or directory 错误
  10. 关于Mysql数据库longblob格式数据的插入com.mysql.jdbc.PreparedStatement.setBinaryStream(ILjava/io/InputStream;J)V问题分析