题意
m份订单,每份订单需要从s天到t天租借d个教室,每天都有r个教室可供租借,每个订单含顺序执行,不需要考虑每天是否需要更换租借教室,求从哪份订单开始会供不应求
思路
显然由于订单的不断积累,每天租借的教室数量保证会持续上涨,满足了单调性,再看一下时间复杂度,1e6的话O(nlogn)能卡,很自然的可以想到二分答案的做法。
二分的难点主要在check,但是二分可以O(n)的来处理,那么我们可以将当前需要check的前x个订单内容加起来,再去查看每天是否有超出可租借范围的。这样思路上没问题,但是前x个订单内容加起来如果直接暴力执行的话,每天都加上某个值显然时间复杂度过高,这种区间加有两种处理方法,一种是直接上数据结构,无脑套线段树,另一种就是通过差分把区间加改为单点加,这样时间复杂度就没有问题了。