acwing 1241. 外卖店优先级 模拟

66 阅读1分钟

1241. 外卖店优先级 - AcWing题库 暴力解法 image.png

时间复杂度

每一时刻都要枚举每个店铺,那么就是 时间复杂度为t*n

t,n的范围是:

image.png

所以时间复杂度为:(10^5)^2= O(10^10)

10^10>10^8

image.png

所以肯定是超时了。

优化

把没接到订单的情况放到下一个有订单的时间段进行处理,这样的话我们就可以每次处理一批订单,而不是每次处理一个订单,这样效率就节省了一半,也就是O(10^5) image.png

排序

我们发现题目给的订单是没有排序的,我们把订单按照时间进行一下排序。

三个变量

image.png

T时刻之前的处理

如果没有没有订单,那么当前优先级-没订单的时刻个数=新的优先级

image.png

T时刻的处理

score[id]=cnt*2;

总结

image.png