1. 可以列举一个答案(客人最长的等待时间),判断可不可以做到这个时间
2. 单调性: 客人的最长等待时间越长,越容易做到
答案是一个临界值,再短一些,就做不到了;再长一些,都可以做到
二分答案:
求出一个mid答案,判断可不可以做到
如果可以做到,范围变成[l,mid]
如果不能做到,范围变成[mid+1,r]
(中间值偏左选取)
如何判断:
一定是安排一些连续到的客人上同一辆车(客人按到达时间排序)
一辆车的最长等待时间 = 最晚的客人 - 最早到的客人
从第一辆车开始,安排连续的客人上车
如果车人数已满,或者最晚客人-最早客人超过了当前判断的时间
这辆车就要立即发车,并新开一辆车
最终判断使用的车的数量是不是符合要求