考虑 \(i\) 排在 \(j\) 前的条件是 \(a_i+\max(a_j,b_i)+b_j\le a_j+\max(a_i,b_j)+b_i\),然后发现这一坨东西是皇后游戏中的倒数第三个式子,直接转化为 \(\min(a_j,b_i)\ge\min(a_i,b_j)\),然后就按皇后游戏中的排序方法就可以了……

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n;
struct hand{
int a,b,id;
}peo[1005];
int d(hand x){
if(x.a==x.b) return 0;
return ((x.a>x.b)?1:-1);
}int cmp(hand x,hand y){
if(d(x)!=d(y)) return d(x)<d(y);
if(d(x)>0) return x.b>y.b;
return x.a<y.a;
}signed main(){
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
cin>>n;
for(int i=1;i<=n;i++) cin>>peo[i].a;
for(int i=1;i<=n;i++)
cin>>peo[i].b,peo[i].id=i;
sort(peo+1,peo+n+1,cmp);
int s=0,c=0;
for(int i=1;i<=n;i++){
s+=peo[i].a;
c=max(c,s)+peo[i].b;
}cout<<c<<"\n";
for(int i=1;i<=n;i++)
cout<<peo[i].id<<" ";
return 0;
}

[luogu1248] 加工生产调度 题解的更多相关文章

  1. 【题解/模板】P1248 加工生产调度(贪心)

    [题解/模板]P1248 加工生产调度(贪心) 分析: \(A\)流水线的时间是确定的,所以现在就是要让\(b\)的时间尽量短 \(tB > tA\),除非所有东西都不需要\(b\).(t指结束 ...

  2. 「一本通 1.1 例 4」加工生产调度(贪心算法)(luogu P1248)题解

    加工生产调度 题目描述 某工厂收到了 n n n 个产品的订单,这 n n n 个产品分别在 A.B 两个车间加工,并且必须先在 A 车间加工后才可以到 B 车间加工. 某个产品 i i i 在 A. ...

  3. codevs 3008 加工生产调度[贪心]

    3008 加工生产调度  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解  查看运行结果     题目描述 Description 某工厂收到了n个产品的订 ...

  4. 【流水调度问题】【邻项交换对比】【Johnson法则】洛谷P1080国王游戏/P1248加工生产调度/P2123皇后游戏/P1541爬山

    前提说明,因为我比较菜,关于理论性的证明大部分是搬来其他大佬的,相应地方有注明. 我自己写的部分换颜色来便于区分. 邻项交换对比是求一定条件下的最优排序的思想(个人理解).这部分最近做了一些题,就一起 ...

  5. 加工生产调度(prod)

    加工生产调度(prod) 题目描述 有n个部件需在A.B机器上加工,每个工件都必须经过先A后B两道工序. 已知:部件i在A.B机器上的加工时间分别为ai,bi. 问:如何安排n个工件的加工顺序,才能使 ...

  6. 洛谷P1248 加工生产调度

    流水作业调度问题 有\(N\)个作业要在两台机器\(M_1\)和\(M_2\)组成的流水线上完成加工.每个作业\(i\)都必须先花时间\(a_i\)在\(M_1\)上加工,然后花时间\(b_i\)在\ ...

  7. 题解 P1248 【加工生产调度】

    题目 某工厂收到了 n 个产品的订单,这 n 个产品分别在 A.B 两个车间加工,并且必须先在 A 车间加工后才可以到 B 车间加工. 某个产品 i 在 A.B 两车间加工的时间分别为 Ai,Bi 怎 ...

  8. 【洛谷P1248】加工生产调度

    题目大意:某工厂收到了n个产品的订单,这n个产品分别在A.B两个车间加工,并且必须先在A车间加工后才可以到B车间加工.某个产品i在A.B两车间加工的时间分别为Ai.Bi.怎样安排这n个产品的加工顺序, ...

  9. CODEVS——T3008 加工生产调度

    http://codevs.cn/problem/3008/  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解  查看运行结果     题目描述 Descr ...

  10. 【a603】加工生产调度

    Time Limit: 1 second Memory Limit: 32 MB [问题描述] 某工厂收到了n个产品的订单,这n个产品分别在A.B两个车间加工,并且必须先在A车间加工后才可以到B车间加 ...

随机推荐

  1. .NET静态代码编织——肉夹馍(Rougamo)5.0

    肉夹馍(https://github.com/inversionhourglass/Rougamo),一款编译时AOP组件.相比动态代理AOP需要在应用启动时进行初始化,编译时完成代码编织的肉夹馍减少 ...

  2. QEMU固件模拟技术-stm32仿真分析及IRQ仿真实践

    文章首发于 https://forum.butian.net/share/124 概述 上一篇文件介绍了luaqemu的实现,也提到luaqemu并没有对中断相关api进行封装,本节主要基于stm32 ...

  3. DB-GBP功能使用探索

    目录 1.DBGPT支持的功能 2.配置StarRocks数据库 3. ChatBI 4. APP创建使用 5. 元数据库配置 6. API 调用探索 6.1 app 6.2 datasources ...

  4. vue3笔记 - 父子组件通信

    父传子 说明:父组件将数据绑定在组件标签上:子组件props接收 父组件: <template> <Child :msg="msg" /> </tem ...

  5. Microsoft Excel 成为合适的编程语言

    https://thenewstack.io/microsoft-excel-becomes-a-programming-language/ 微软的研究人员相信,由于引入了一项名为 LAMBDA 的新 ...

  6. Qt编写地图综合应用41-在线轮廓图

    一.前言 轮廓图也叫行政区划,这里的轮廓图是指百度地图的区域轮廓图,不是之前文章中提到的echart专用的轮廓图,百度地图的轮廓图就是一个不规则的多边形区域,只不过这个区域的坐标点一般是特别多的,比如 ...

  7. WebSocket硬核入门:200行代码,教你徒手撸一个WebSocket服务器

    本文原题"Node.js - 200 多行代码实现 Websocket 协议",为了提升内容品质,有较大修订. 1.引言 最近正在研究 WebSocket 相关的知识,想着如何能自 ...

  8. 网页端IM通信技术快速入门:短轮询、长轮询、SSE、WebSocket

    本文来自"糊糊糊糊糊了"的分享,原题<实时消息推送整理>,有优化和改动. 1.写在前面 对Web端即时通讯技术熟悉的开发者来说,我们回顾网页端IM的底层通信技术,从短轮 ...

  9. IM消息ID技术专题(七):网易严选分布式ID的技术选型、优化、落地实践

    1.引言 在<IM消息ID技术专题>系列文章的前几篇中,我们已经深切体会到消息ID在分布式IM聊天系统中的重要性以及技术实现难度,各种消息ID生成算法及实现虽然各有优势,但受制于具体的应用 ...

  10. Python 抽象基类 ABC :从实践到优雅

    今天我们来聊聊 Python 中的抽象基类(Abstract Base Class,简称 ABC).虽然这个概念在 Python 中已经存在很久了,但在日常开发中,很多人可能用得并不多,或者用得不够优 ...