公司要求从两类培训(业务类、管理类)各选一场,顺序任意,且每场都可在“最早开始时间或之后”任意时刻启动,持续给定时长。
设一场培训以最早时间 s 开始并持续 d,若在时刻 t(≥s) 启动,则在 t+d 结束。显然不需要把第一场延后:第一场越早结束,第二场 max(第一场结束, 第二场最早开始)+第二场时长 只会不增。
把每场的“若第一场就选它且按最早时间开始时的结束时刻”记为:
i 个:Bend[i] = Bstart[i] + Bdur[i]j 个:Mend[j] = Mstart[j] + Mdur[j]公司为提升员工综合能力,提供了两种不同类别的主题培训:业务类主题培训和管理类主题培训,并要求每位员工必须从这两类培训中各选择恰好一门参加,具体顺序可自由安排。
业务类主题培训有多个场次,其中businessstartTime[i]表示第i个业务类培训场次的最早可开始时间, businessDuration[i]表示该场次的持续时长。
管理类主题培训也有多个场次,其中managementstartTime[j]表示第j个管理类培训场次的最早可开始时间,managementDuration[j]表示该场次的持续时长。