题解 2300: 蓝桥杯2019年第十届省赛真题-外卖店优先级

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

外卖店优先级(减少内存,优化时间)java

###注意事项同一时刻可能有多个店铺有订单,同一时刻同一店铺可能有多个订单###解题思路该题数据有点大,如果直接用HashMap,List等集合可能会超时,无疑数组是最快的我最开始的思路是建立一个二维数组,横坐标存时刻,纵坐标存每个店铺,值就是该时刻该店铺接到的订单数,

蓝桥杯2019年第十届真题-外卖店优先级-题解(C++代码)

###解题思路:贪心的思路求解,先对订单的时间从小到大排序,要减去到当前订单的外卖店的时间与上一次到达该店的时间,这段时间是没有订单的,然后加上订单的数量。最后判断哪些订单从某一时间起就没有订单即可```cpp#include#definexfirst#defineysecond#definemem1

外卖店优先级(详细解答)

|1|1||------------|------------||2|1||3|1||5|2||6|2||6|2|将示例按照先编号id,后时间ts排序,因此创建了一个结构体,包含两个元素id和ts注意:缓存的退出与重新进入的逻辑问题```cpp#include#includeusingnamespac

蓝桥杯2019年第十届真题-外卖店优先级-题解(C++代码)时间复杂度不高

问题可以离散处理,不必遍历T个时刻。先将订单按照时间顺序排序,再遍历每一个收到订单的时间点,此时该商户的缓存减去当前时间与上一个收到订单的时间的间隔,再加上2,再分析判断一下纳入/移除优先缓存的情况即可,时间复杂度是O(m+nlog(n))如果把vector换成数组,

2300题解——外卖店优先级

**题解分析:**`初始时时刻所有店的优先级都为0(最低)[用数组arr表示]``每过1时刻:有订单的店arr[id-1]+=2*订单数(优先级+2);``每一时刻的时候定义一数组arr3用来记录此时刻没有订单的店家arr3[id-1]=0``在此时刻遍历arr3,当出现为0时表示无订单,