ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

5924: 加工生产调度(贪心)

2019-07-22 21:01:00  阅读:221  来源: 互联网

标签:车间 加工 int 样例 调度 5924 时间 产品 贪心


描述

 

 

某工厂收到了 n 个产品的订单,这 n 个产品分别在 A、B 两个车间加工,并且必须先在 A 车间加工后才可以到 B 车间加工。

某个产品 i 在 A,B 两车间加工的时间分别为Ai,Bi。怎样安排这 n 个产品的加工顺序,才能使总的加工时间最短。

这里所说的加工时间是指:从开始加工第一个产品到最后所有的产品都已在 A,B 两车间加工完毕的时间。

 

 

 

输入

 

 

第一行仅—个数据 n ,表示产品的数量;

接下来 n 个数据是表示这 n个产品在 A 车间加工各自所要的时间;

最后的 n 个数据是表示这 n 个产品在 B 车间加工各自所要的时间。

 

 

 

输出

 

 

输出最少的加工时间。

 

 

样例输入

样例输出

提示

解题思路:刚开始要A小 B等待的时间少 最后要B小 A全部完成之后要等B完成

取每一组A和B的最小值进行排序 A组小的放前面 B组小的放后面  然后进行贪心

 

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 int n;
 4 int ans[10005];
 5 struct Node{
 6     int x,y;
 7 }A[10005];
 8 
 9 struct Edg{
10     int time,B1,B2;
11     bool operator<(const Edg&X) const{
12         return time<X.time;
13     }
14 }B[10005];
15 
16 
17 int main()
18 {
19     ios::sync_with_stdio(false);
20     cin>>n;
21     for(int i=1;i<=n;i++) cin>>A[i].x;
22     for(int i=1;i<=n;i++) cin>>A[i].y;
23     for(int i=1;i<=n;i++){
24         int flag;
25         if(A[i].x<A[i].y) flag=0;
26         else flag=1;
27         B[i]={min(A[i].x,A[i].y),i,flag};
28     }
29     sort(B+1,B+1+n);
30     int left=0,right=n+1;
31     for(int i=1;i<=n;i++){
32         if(B[i].B2==1) ans[--right]=B[i].B1;
33         else{
34             ans[++left]=B[i].B1;
35         }
36     }
37     int max1=0,max2=0;
38     for(int i=1;i<=n;i++){
39         max1+=A[ans[i]].x;
40         max2=max(max2,max1)+A[ans[i]].y;
41     }
42     cout << max2 << endl;
43     return 0;
44 }
View Code

 

 

对于100%的数据, 0 < n < 10000,所有数值皆为整数。

标签:车间,加工,int,样例,调度,5924,时间,产品,贪心
来源: https://www.cnblogs.com/qq-1585047819/p/11228333.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有