内存分配

这里主要讲一下模拟过程中遇到的问题和想法

首先,为了保证模拟正确,我们应该以时间为参考对象去模拟,这样比以即将进入的任务或者等待队列中的任务为参考对象讨论的情况更少,犯的错误更少,每到达一个新时间如果有任务进入或者有任务完成就可以进行处理

其次,这道题目的\(N\)非常大,所以我们不可能去模拟内存空间,换个思路,去存储在进行中的任务,每两个任务之间的空隙就是空内存(转换对象法)

然后,我们加入一个head和tail任务,来减少边界条件的判断

最后,我们查找一个任务的插入点的时候是用到从头到尾遍历,看起来是\(O(n^2)\),实际上感觉确实是,但是达不到上界,也没啥其他更好的办法了

posted @ 2023-12-09 13:37  最爱丁珰  阅读(1)  评论(0编辑  收藏  举报