LOJ#10003 加工生产调度(贪心)
题解:贪心策略始终是一个比较烦人的地方……容易出错。
这道题因为必须先a再b,所以第一个在a加工的产品的a值必须尽可能小,这样能减少机器B的等待时间,最后一个在B加工的零件的b值必须尽可能小,这样减少机器A的等待时间。
按照每个产品a值和b值的最小值从小到大排序,如果最小值是a的话就把这个产品往前放,否则往后放。
这题有个比较容易错的地方是最少加工时间= =应该考虑排好序后机器A的工作时间和机器B的工作时间,然后取最大值。
AC代码:
#include <iostream>
#include <algorithm>using namespace std;struct node
{int a, b;int p;int w;
}st[1005];int n;
int ta, tb;
int ans[1005];bool cmp(node a, node b)
{return a.w<b.w;
}int main()
{int a=0, b=0;cin>>n;for(int i=0; i<n; i++){cin>>st[i].a;a+=st[i].a;st[i].p=i+1;}for(int i=0; i<n; i++){cin>>st[i].b;st[i].w=min(st[i].a, st[i].b);b+=st[i].b;}sort(st, st+n, cmp);int left, right;left=0;right=n-1;for(int i=0; i<n; i++){if(st[i].w==st[i].a){if(left==0) b+=st[i].a;ans[left]=st[i].p;left++;}else{if(right==n-1) a+=st[i].b;ans[right]=st[i].p;right--;}}cout<<max(a, b)<<endl;for(int i=0; i<n-1; i++){cout<<ans[i]<<' ';}cout<<ans[n-1]<<endl;return 0;
}
LOJ#10003 加工生产调度(贪心)相关推荐
- #10003. 「一本通 1.1 例 4」加工生产调度(贪心)
加工生产调度 题目描述 某工厂收到了n个产品的订单,这n个产品分别在A.B两个车间加工,并且必须先在A车间加工后才可以到B车间加工. 某个产品i在A.B两车间加工的时间分别为Ai.Bi.询问怎样安排这 ...
- 贪心算法(4.加工生产调度(做题思路分析))
1.流水作业调度问题(解题思路在下边) 加 ...
- 加工生产调度(贪心)
加工生产调度(贪心) 题目描述 某工厂收到了 n 个产品的订单,这 n 个产品分别在 A.B 两个车间加工,并且必须先在 A 车间加工后才可以到 B 车间加工. 某个产品 i 在 A,B 两车间加工的 ...
- 【贪心】加工生产调度【经典】
[贪心]加工生产调度 时间限制: 1 Sec 内存限制: 64 MB 提交: 61 解决: 24 [提交] [状态] [讨论版] [命题人:外部导入] 题目描述 有n个部件需在A.B机器上加工,每个工 ...
- 贪心算法训练(七)——加工生产调度(流水作业调度问题)
贪心算法训练(七)--加工生产调度(流水作业调度问题) 1. 问题描述 某工厂收到了 n 个产品的订单,这 n 个产品分别在 A.B 两个车间加工,并且必须先在 A 车间加工后才可以送到 B 车间.某 ...
- 【贪心】加工生产调度(双机调度贪心问题)
问题 D: [贪心]加工生产调度 时间限制: 1 Sec 内存限制: 64 MB 提交: 41 解决: 21 [提交] [状态] [讨论版] [命题人:外部导入] 题目描述 有n个部件需在A.B机 ...
- 第1部分 基础算法(提高篇)--第1章 贪心算法1425:【例题4】加工生产调度
1425:[例题4]加工生产调度 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 2047 通过数: 529 [题目描述] 某工厂收到了 n 个产品的订单,这 n 个产品分别在 A ...
- 【C++】「一本通 1.1 例 4」加工生产调度
「一本通 1.1 例 4」加工生产调度 [来源] [题目描述] [输入格式] [输出格式] [输入样例] [输出样例] [数据范围] [解析] [代码] [来源] 一本通题库-1425 LibreOJ ...
- 1425 加工生产调度
1425 加工生产调度 这个题和排队接水很像,贪心的问题都差不多 首先先说一下,一本通的数据这个题可能炸了,因为这个题基本提交都是25分,但是代码并没有问题 求一个物品的总时间最少,就是让机器空闲的时 ...
最新文章
- C++关键字decltype
- docker build 没有网络 执行dockerfile中yum报错 curl#6 - “Could not resolve host: mirrorlist.centos.org 解决方法
- C++ boost 实例学习
- 《剑指offer》数值的整数次方
- Java8 Stream 流使用场景和常用操作
- [二进制拆分]Luogu1833 樱花
- fashion minst
- STM32烧写程序:Keil5使用ST-link下载程序
- 牌匾设计软件测试自学,回弹检测测点
- ACL'22 | 陈丹琦提出CoFi模型剪枝,加速10倍,精度几乎无损
- 「技术人生」第7篇:从业务视角谈信息技术与业务的关系
- 用Python来玩微信小游戏跳一跳
- 微信小程序使用nginx跳转第三方url
- poj3525(二分+半平面判定)
- 前端项目如何向一个后端项目传递数组?(批量删除如何传参)
- 【C++】一个简单的模拟实现鼠标脚本精灵
- 【22物联网国赛样题第一套】lora屏幕显示,外设值获取,lora光照获取,物联网竞赛今年历年国赛样题真题代码
- 说烦了的新基建 北上广建得有何不同
- oracle雾化试图_Oracle物化视图语法
- 使用python来实现逻辑电路(与门、与非门、或门)