洛谷P1654 产品排序:贪心+DP
来源:互联网 发布:食品安全溯源软件下载 编辑:程序博客网 时间:2024/05/21 12:51
1813 – 【模拟试题】产品排序
Description
有一系列产品,给定每个产品的加工时间和冷却成型时间(冷却过程产品之间没有关系,是单独冷却的)。现在你手上有两台机器可以用来加工,你需要安排产品加工的顺序以及去哪台机器加工,使得所有产品都成型的时间最早。机器之间互不相关,可以同时进行工作,一个机器一个时刻只能加工一个产品。
Input
第一行一个数n,表示产品个数,以下n行,每行两个数分别表示产品的加工时间A[i]和冷却时间B[i]。
Output
输出只有一个数表示所有产品成型的最早时间。
Sample Input
3
1 4
3 3
4 1
Sample Output
6
Hint
n<=200
http://blog.sina.com.cn/s/blog_8442ec3b0100wzcd.html //orz原题解
贪心:按B从大到小排序
DP:设f[i][j]为前i个产品,A机器用时间j完成生产的最短时间,则有:
f[i][j]=max(f[i-1][j-A[i]],j+B[i]);—给A机器生产
f[i][j]=max(f[i-1][j],sum[i]-j+B[i]);—给B机器生产
sum为排序后A[i]前缀和。
上面俩取个min即可,注意下标越界,判一下即可。
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cstdlib>//#include<cmath>#define ll long longusing namespace std;inline ll read(){ ll bj=1; char ch=getchar(); while(ch<'0'||ch>'9') { if(ch=='-')bj=-1; ch=getchar(); } ll ret=0; while(ch>='0'&&ch<='9')ret=ret*10+ch-'0',ch=getchar(); return ret*bj;}struct node{ ll a,b;}w[205];ll n,f[205][40010]={0},sum[201]={0};bool cmp(node x,node y){ return x.b>y.b;}void init(){ n=read(); for(ll i=1;i<=n;i++) { w[i].a=read(); w[i].b=read(); } sort(w+1,w+n+1,cmp); for(ll i=1;i<=n;i++)sum[i]=sum[i-1]+w[i].a; memset(f,0x7f,sizeof(f)); f[0][0]=0;}void DP(){ for(ll i=1;i<=n;i++) { for(ll j=0;j<=sum[i];j++) { if(j>=w[i].a)f[i][j]=min(f[i][j],max(f[i-1][j-w[i].a],j+w[i].b)); if(sum[i]-j+w[i].b>=0)f[i][j]=min(f[i][j],max(f[i-1][j],sum[i]-j+w[i].b)); } } ll ans=1e20; for(ll i=0;i<=sum[n];i++)ans=min(ans,f[n][i]); cout<<ans;}int main(){ init(); DP();return 0;}
0 0
- 洛谷P1654 产品排序:贪心+DP
- 洛谷 P1654 产品排序(sort)(dp)
- 洛谷 1654 产品排序(sort) 背包DP+贪心
- Area (P1654)
- luoguP2439教室利用(贪心,排序,dp)
- 产品排序(rms模拟11-1)* *(dp)
- NOIP模拟题 River Path Word[排序][贪心][DP]
- [贪心 DP] 51Nod 1241 特殊的排序
- 洛谷1417 烹调方案 dp 贪心
- Codevs P1654方程的解
- qbxt Day3 DP+DP+贪心
- [bzoj1222][dp]产品加工
- hdu 1257 dp+贪心
- HDU 1257 DP + 贪心
- 【贪心DP】过河问题
- 过河 贪心dp
- POJ1456 Supermarket 贪心 DP
- hdu4562(贪心策略+DP)
- 关于IOS 高德地图的一些问题
- C++文件读写详解(ofstream,ifstream,fstream)
- mybatis在xml文件中处理大于号小于号的方法
- QT 利用QPainter绘图的坐标系转换
- 在tomcat中配置SSL-基础学习笔记
- 洛谷P1654 产品排序:贪心+DP
- maven POM.xml 标签详解
- mysql 基本操作
- dmidecode - DMI(Desktop Management Interface) - SMBIOS(System Management BIOS) - IBM x3650 M4
- ubuntu终端使用方法学习
- noip2001一元三次方程求解(二分)
- mark----Android目录架构详解
- 验证码识别接口
- 消息队列设计精要