当前位置: 首页 > news >正文

P1248 加工生产调度 - Johnson 法则如何使用 - java版

题目:P1248 加工生产调度【经典 Johnson 两机调度问题】【贪心】

理解一下题:图解

前导

推导排序规则:

min(x.a , y.b) < min(y.a , x.b); 

image

但是这个题的比较函数有一个取min的操作,这个会导致:不满足不可比性的传递性

不可比性的传递性

  • 不可比性传递:如果𝑢与𝑣不可比(相等),且𝑣与𝑤不可比,那么𝑢与𝑤也一定不可比,即若u = v,v = w,则u = w
  • 当两个比较结果相等(即不可比)时,这种相等关系不具有传递性:即x与y不可比,y与z不可比,但x与z却可能可比。这正是破坏了不可比性的传递性
  • 举个例子x、y、z,如图
    image
  • 判断逻辑如下:
    image

虽然不懂,但是记住😅。好像又懂了。

我的问题:对于当min(x.a, y.b) = min(x.b, y.a) 且 min(y.a, z.b) = min(y.b, z.a) 时,min(x.a, z.b) = min(x.b, z.a) 不一定成立,这六个min规则中,最后两个的内容和前面四个是完全不一样的,为什么要看是否满足不可比性的传递性?

解答:上面这个推理实际上说的是,当x排在y前,y排在z前时,x不一定排在z前,这是它的实际意义。但实际上,对于不可比性的传递性,应该满足如果x排在y前,y排在z前,那么x应该排在z前,因此根据实际意义来看,还是需要满足不可比性的传递性的。

如何解决不可比性的传递性?—— Johnson 法则

Johnson 法则

直接推翻之前的流程(上面的不等式不能完全通过hack数据),改用新模板:

  • 题解 / Johnson算法的模板
  • 流水调度问题-动态规划-Johnson法则-两种方法

Johnson 法则是解决双机流水车间调度问题(即每个工件先在 A 机加工,再到 B 机加工,目标是最小化总完工时间)的最优排序算法。其核心思想是将工件分为两类,并分别按特定顺序排列,从而保证整体顺序最优。

image

使用法二实现该算法:

import java.util.*;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int[] q = new int[n + 1];//暂存第一行数组aArrayList<int[]> a = new ArrayList<>();//a,b,iArrayList<int[]> b = new ArrayList<>();//a,b,ifor(int i = 1;i <= n;i++) q[i] =sc.nextInt();for(int i = 1;i <= n;i++) {int[] t = new int[3];//a,b,it[0] = q[i];t[1] = sc.nextInt();t[2] = i;if(t[0] < t[1]) a.add(t);else b.add(t);}Collections.sort(a, (x, y)-> Integer.compare(x[0], y[0]));//a,升序Collections.sort(b, (x, y)-> Integer.compare(y[1], x[1]));//b,降序a.addAll(b);//合并列表int suma = 0, sumb = 0;for(int i = 0;i < n;i++) {suma += a.get(i)[0];sumb = Math.max(suma, sumb) + a.get(i)[1];}System.out.println(sumb);for(int[] t : a) {System.out.print(t[2] + " ");}}
}
http://www.jsqmd.com/news/491460/

相关文章:

  • 10分钟上手SIMP:从安装到基础配置的快速入门指南
  • 国产先进封装设计软件选型指南:2026对标Cadence SIP的国产工具推荐 - 品牌2026
  • 如何学习硬件设计——理论篇
  • 百联卡回收最新攻略:方法和流程详解 - 猎卡回收公众号
  • AF350标记α-银环蛇d素,AF350-a-Bungarotoxin核心功能与应用场景
  • 甩掉API硬编码包袱:2026桌面级办公智能体选型指南及实在Agent等主流工具横评
  • 上海劳力士维修哪里好?南京/北京/杭州等六大城高端腕表维修科普+正规门店指引 - 时光修表匠
  • 数学危机、经典悖论
  • AF405标记α-银环蛇d素,AF405-a-Bungarotoxin的分子基础与结构特性
  • 整厂回收厂家有哪些?陕西地区专业电线电缆等资源设备回收服务商真实推荐 - 深度智识库
  • 推荐:SortPhotos——照片智能整理神器
  • printf输出语句
  • 人工智能教程 - 前言
  • 简单分享沃尔玛电子卡回收的高效方案 - 猎卡回收公众号
  • 2026年野奢定制庄园住宿套餐评测报告:香格里拉设计感民宿/香格里拉避世民宿/香格里拉野奢度假/选择指南 - 优质品牌商家
  • STM32F072 CAN and USB
  • 在英伟达全栈 AI 基建布局下的GPU算力平台选择逻辑
  • 电工记
  • Deepagents与LangGraph集成指南:构建可扩展的AI代理系统
  • 2026 镀锌钢管 / 槽钢 / 工字钢厂家优选 实力品牌全维度推荐 - 深度智识库
  • 1949AI 轻量化 AI 自动化:批量图片文字提取与文档整理技术实践
  • 【实时Linux工业PLC解决方案系列】第四十篇 - 实时Linux PLC工业场景落地方案总结
  • 2026成都消防维保公司服务能力深度评测报告 - 优质品牌商家
  • 2026国产高端芯片封装设计软件推荐:技术突破与行业实用价值 - 品牌2026
  • Linux 调度子系统架构全景解析:从模块化设计到调度类优先级
  • 空调/设备回收选哪家好?2026西安专业整厂回收服务商精选 - 深度智识库
  • 2026六大城市高端腕表“调校禁区”终极档案:从百达翡丽万年历到欧米茄计时码表,这些时间绝不能动你的表 - 时光修表匠
  • TextAttack API详解:打造属于你的NLP对抗性训练框架
  • 2026年3月四川餐饮/茶楼/酒店/实木/高端/宴会家具厂家综合评估与推荐 - 2026年企业推荐榜
  • 推荐:快速构建React组件的利器 —— create-component-app