原标准解释:一台精密仪器的工作时间为 n 个时间单位, 与仪器工作时间同步进行若干仪器维修程序。一旦启动维修程序, 仪器必须进入维修程序。如果只有一个维修程序启动, 则必须进入该维修程序。如果在同一时刻有多个维修程序, 可任选进入其中的一个维修程序。维修程序必须从头开始,不能从中间插入. 一个维修程序从第 s 个时间单位开始, 持续 t 个时间单位, 则该维修程序在第 s+t-1 个时间单位结束。为了提高仪器使用率, 希望安排尽可能少的维修时间。
我相信,没有多少初学者能看懂这个破解释。
实际上就是,有一些维修任务,每个任务规定了开始时间和持续时间,比如(8 5)和(8 1)就表示8时有两个维修任务,分别持续5小时(8,9,10,11,12)和1小时(8)。
到8时了,如果当前没有任务,就不做;当前有任务,就必须做;如果当前有多个任务,就要选一个。
如果选做(8 5)这个任务,那8,9,10,11,12这5个小时都有任务,(11 5)这个任务就做不了。
想要尽可能地减少维修时间。(这样仪器可以更多去工作。)
最上面的15 6是,可维修时间是1~15时,共6个可维修任务。
上图中,从第一个时间单位开始,你可以选择花费2个或6个单位的程序,若执行2个单位的程序,第1,2个时间单位内有程序运行,第3个时间单位未用,到第4个时间单位,有一个花费11个单位的程序,只有一个程序,没有选择,只能执行,致使我们花费了过多时间,13小时。
假如第一次选择的是6个单位的那个程序,(4 11)这个程序就只是过客,不必执行,而第1到6个时间单位被占用,第7个未用,第8个时间单位有两个选择,花费5个或1个单位,这次还不能选花费1个,因为过一个单位后,第9,10个时间单位都为空,第11个单位开始,又得执行(11 5),花费5个单位,这样共花费12小时。倒不如直接执行(8 5),省了一小时。共11小时,时间最少。
上述解释如有问题,请指正。