BZOJ_1618_ [Usaco2008_Nov]_Buying_Hay_购买干草(动态规划,完全背包)
2024-10-11 12:02:45
描述
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磅干草.
第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
3 2
5 3
Sample Output
9
FJ can buy three packages from the second supplier for a total cost of 9.
HINT
Source
最新文章
- 用jquery实现瀑布流案例
- requests的安装与简单运用
- OpenCV图像的缩放
- 非空二叉树的一个有趣的性质:n0 = n2 + 1
- 【读书笔记】iOS-UIFont-动态下载系统提供的多种中文字体网址
- sudo简单命令语法及配置
- jquery easy ui 1.3.4 事件与方法的使用(3)
- BAPI 使用
- Ubuntu系统下安装python2.7
- SQL经典题
- GNU C的使用
- EntityFramework Core查询问题集锦(一)
- Leetcode刷题第001天
- NOIP不开心记(不开心的东西肯定不能给别人看!)
- MyBatis基础入门《四》接口方式.Select查询集合
- 编写第一个python selenium-webdriver程序(二)
- php模板引擎之featherview
- VisualStudio:让 XML 支持智能提示
- MyBatis接口的简单实现原理
- 怎样求逆序对数(Inverse Number)?
热门文章
- Java线程间通信--生产者消费者
- 九度OJ 1501 最大连续子序列乘积 -- 动态规划
- 关于C#虚函数和构造函数的一点理解
- VMware10.0.4下 CentOS 6.5 cmake安装 MySQL 5.5.32
- linux RedHat6.4下nginx安装
- Java知识总结--Servlet&;JSP
- DevExpress VCL 一键安装工具
- SVN菜单说明
- Popen No such file or directory 错误
- 关于Mysql数据库longblob格式数据的插入com.mysql.jdbc.PreparedStatement.setBinaryStream(ILjava/io/InputStream;J)V问题分析