2
条线
4 件事,一共 16 小时,横跨 01:00 – 26:00。 把时长加起来除一除,会告诉你 1 条就够 —— 差的这 1 条,不是总量堆出来的,是某一分钟挤出来的。
同时有几件事在跑
01:0005:0009:0013:0017:0021:0025:00
柱子的高度就是那一刻同时在跑的件数。最高的那几段是红的 —— 整张表需要几条线,是由它们决定的,别的时间段一概不参与。
挤在一起的是这几件
05:30 – 06:0030 分钟
- 晚班
- 早班交接
22:00 – 23:0060 分钟
- 早班
- 中班
一整天里,真正需要 2 条线的时间一共 90 分钟。剩下的时间,第 2 条线是空着的 —— 这就是下面那个占用率为什么低,以及为什么低不代表可以少一条。
动一件,少一条
只有两件事撞在一起。说「去掉其中一件」不是建议,是把你写的东西念一遍。
排给你看
1
01:00–06:00 晚班20:00–23:00 早班
2
05:30–09:00 早班交接22:00–26:00 中班
01:0005:0009:0013:0017:0021:0025:00
这不是唯一的排法,但它用的条数是最少的, 而且不需要试 —— 按开始时间挨个塞进最早空出来的那条,用掉的条数正好等于最挤那一刻的件数。 区间的性质,不是运气。
占用率 31%:2 条线在 01:00 – 26:00 这段时间里, 只有这么点是真在做事的。
它不知道的事
它不知道两件事是不是必须同时发生,也不知道哪件能拆开、 哪件能压缩、哪件其实可以不开。它把每一行都当成不能动的整块 —— 所以它给的是「按你写的这样排,最少要几条」,不是「你应该要几条」。
它也不知道一条线是一个人、一间屋子还是一台机器。 如果那条线是人,还有午饭、通勤和上厕所,那都不在这张表里。
贴进来的东西只在这一次请求里存在,不写盘、不记日志、不发给任何人。 这个页面没有任何 JavaScript —— 你把脚本全关掉,它照样是这个样子。