ccf至今还没发选手代码,我感觉这个做法悬,故发帖询问。
时间复杂度O(T*(n+m+L))
思路奇葩,要开一个长度为1e6的vector数组
首先通过公式计算出每辆车的超速区间,并前缀和预处理该区间内是否有探头。如有则说明该车超速。那么对这辆车所在区间起点的vector push_back 超速区间终点
后面跑一边for(ll i=0;i<=L;i++),并维护一个mn变量。对于每一个i,首先对vector做mn=min(mn,vector[i]里的所有元素)。然后如这个i有监控,则判断i到mn之间有没有其他监控。如没有,则说明该监控摄像头是必须的。此时将mn变量设为-1,并注意后面的-1特判。
思路很贪心,但时间复杂度比二分低。
最后%%%一下各位大佬%%%