解析

国王游戏一样的做法
容易写出cmp函数的依据:

min(u.a,v.b)<min(u.b,v.a)

但是这个题的比较函数有一个取min的操作
这个东西会有一个问题:不满足不可比性的传递性
通俗的说,x=y,y=z,但是x不一定=z
比如说如果y的a和b都很小,就会出现这个无论a和c之间关系如何,等式总是成立的尴尬情况
为了避免这个东西,引入了Johnson 法则
设置d

d=1(a>b)
d=0(a=b)
d=-1(a<b)

在d不同时,优先按照d排序(显然d不同时是正确的)
d相同在把他们的最小值比较即可

bool operator<(const node &x)const{if(d==x.d){if(d<=0)return a<x.a;//这里的等于是将上面的情况2找了一种方法排序else return b>x.b;}return d<x.d;
}

代码

(先是自己搞的所有没有按题解写)

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define il inline
const int N=4e3+100;
const int M=150;
const int mod=998244353;
const int mx=7e4;
inline ll read(){ll x=0,f=1;char c=getchar();while(!isdigit(c)){if(c=='-') f=-1;c=getchar();}while(isdigit(c)){x=x*10+c-'0';c=getchar();}return x*f;
}
int n;
struct node{int a,b,id;
}p[N];
bool cmp (const node u,node v){if(min(u.a,v.b)!=min(u.b,v.a)) return min(u.a,v.b)<min(u.b,v.a);return u.a<v.a;
}int main(){n=read();for(int i=1;i<=n;i++) p[i].a=read(),p[i].id=i;for(int i=1;i<=n;i++) p[i].b=read();sort(p+1,p+1+n,cmp);int ta=0,tb=0;for(int i=1;i<=n;i++){ta+=p[i].a;tb=max(ta,tb)+p[i].b;}printf("%d\n",tb);for(int i=1;i<=n;i++){printf("%d",p[i].id);putchar(' ');}return 0;
}
/**/

LOJ洛谷P1248加工生产调度(贪心、Johnson 法则)相关推荐

  1. 加工生产调度(Johnson算法 双机流水作业调度问题)

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

  2. 洛谷p1208 水题贪心 思想入门

    题目描述 由于乳制品产业利润很低,所以降低原材料(牛奶)价格就变得十分重要.帮助Marry乳业找到最优的牛奶采购方案. Marry乳业从一些奶农手中采购牛奶,并且每一位奶农为乳制品加工企业提供的价格是 ...

  3. 洛谷P1080-国王游戏-贪心+高精度

    P1080-国王游戏 啊啊啊,刚才已经写了一次了,但是Edge浏览器不知道为什么卡住了,难受. 好吧,其实是一道可做题,分析得到的贪心策略就是就是将a * b小的放在前面(其他的懒得说了),主要还是要 ...

  4. 【洛谷】【堆+贪心】P1484 种树

    [题目描述:] cyrcyr今天在种树,他在一条直线上挖了n个坑.这n个坑都可以种树,但为了保证每一棵树都有充足的养料,cyrcyr不会在相邻的两个坑中种树.而且由于cyrcyr的树种不够,他至多会种 ...

  5. 【2019 CSP-JのT4】[洛谷P5663]加工零件【最短路 · 变式】

    题目描述 linklinklink 凯凯的工厂正在有条不紊地生产一种神奇的零件,神奇的零件的生产过程自然也很神奇.工厂里有 n 位工人,工人们从 1∼n 编号.某些工人之间存在双向的零件传送带.保证每 ...

  6. [洛谷]P1413 坚果保龄球 (#贪心 -1.18)

    题目描述 PVZ这款游戏中,有一种坚果保龄球.zombie从地图右侧不断出现,向左走,玩家需要从左侧滚动坚果来碾死他们. 我们可以认为地图是一个行数为6,列数为60的棋盘.zombie出现的那一秒站在 ...

  7. 洛谷 P1803题解 java 贪心

    题目描述 现在各大 oj 上有 nn 个比赛,每个比赛的开始.结束的时间点是知道的. yyy 认为,参加越多的比赛,noip 就能考的越好(假的). 所以,他想知道他最多能参加几个比赛. 由于 yyy ...

  8. 洛谷P1650:田忌赛马 ← 贪心算法

    [题目来源] https://www.luogu.com.cn/problem/P1650 [题目描述] 我国历史上有个著名的故事: 那是在2300年以前.齐国的大将军田忌喜欢赛马.他经常和齐王赛马. ...

  9. P1248 加工生产调度

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

最新文章

  1. 《Python数据分析与挖掘实战》一第1章 数据挖掘基础1.1 某知名连锁餐饮企业的困惑...
  2. python—Celery异步分布式
  3. python自学网站推荐-有哪些值得推荐的Python学习网站?
  4. 以太坊DAPP[2]-×××-react框架与web3实例
  5. Caffe 训练时loss等于87.3365且保持不变的原因及解决方法
  6. react源码解析之stack reconciler
  7. Python(19)-字符串、Unicode字符串
  8. PHP 如何判断当前用户已在别处登录
  9. iText生成pdf详解
  10. 卷积神经网络工作原理直观的解释
  11. C语言程序设计实践-C语言应用实践
  12. DisplayTag的使用方法
  13. 智慧城市建设的实践经验
  14. webp格式是什么?webp格式怎么打开?webp格式怎么转换gif/jpg/png等?
  15. HTML(第九章) 标签: 网页动画
  16. 喜马拉雅.xm转化为.mp3格式
  17. PC机上常用 EDA 软件
  18. php curl 客户端,php通过curl设置客户端cookie
  19. 针对不同的客户采取不同的沟通方式
  20. 拿来主义vs.自主创新

热门文章

  1. mysql8 修改权限_MySQL8修改重置root密码,远程连接权限设置
  2. 二维数组各行分别求和_【PyTorch入门】之十分钟看懂二维卷积层的运算、实现及应用...
  3. php maximum,解决PHP程序运行时:Fatal error: Maximum execution time of 30 seconds exceeded in的错误提示...
  4. 上传文件白名单_十大常见web漏洞——文件上传漏洞
  5. Hadoop 中zoo_0基础如何入门HADOOP
  6. Linux语言写的高通滤波,高通滤波器c语言实现
  7. 工程勘察设计收费标准2002修订版_黑龙江省哈尔滨新区智能轨道快运系统1号线项目勘察设计招标...
  8. 机器学习之超参数调优——超参数调优的方法
  9. 过去3个多月的1200个小时里,我收获了什么?| 2021年年中总结
  10. C++ vector容器中常见的三种遍历方式