模拟
HumveeA6
这个作者很懒,什么都没留下…
展开
-
洛谷P2278 HNOI2003 操作系统
本题思路比较明确,根据题目中有关“优先级”的操作不难想出本题主要使用优先队列。因此,我们使用优先队列依据题意进行模拟。 模拟过程中我们需要注意一些细节: 1.每当一个进程到达时,有可能打断正在进行的进程。因此我的方法时,每当新进程到达时,立即打断当前进程,查看当前进程状态 2.整个过程完成之前CPU不会空闲,一旦一个进程完成,随即进行下一个进程。 所以只要时间有剩余,进程就不会被打断。原创 2018-02-06 15:43:29 · 294 阅读 · 0 评论 -
POJ 3190 Stall Reservations
维护一个堆,结束时间早的在堆顶,(堆中每个元素看做一台机器)把奶牛按照开始时间从小到大排序,对于每一头牛,如果当前堆顶的元素已结束,那么把该元素弹出,把当前牛加入(就是利用同一台机器),否则的话开一台新的机器,也就是把牛之间丢进堆里。 #include #include #include #include using namespace std; struct machine { i原创 2018-02-06 16:03:03 · 136 阅读 · 0 评论 -
HDU 1237 简单计算器
题目实现起来比较复杂…虽然题意很简单… 目前看到的一个比较简单的方法就是: 1.首先读入第一个数,读入后面的符号,如果数为0且符号为换行,退出。否则把数丢进栈中 2.读入后面的数,如果之前的符号是乘/除号,那么把栈顶的数拿出来与当前的数进行运算,算完丢回栈里。如果是+/-,那么把当前数的正负值弄一下然后丢进栈里就好了 3.读到换行符的时候,依次把栈里的数拿出来加起来即可 中间实现很多小细原创 2018-02-06 16:11:09 · 225 阅读 · 0 评论