首页 > Operating System
头像 小、pi孩
发表于 2020-11-22 09:30:47
当所需页面不在内存中时,分为三种情况,当前内存中的页面数小于内存最大页面数时,添加一个新的页面为即当前所需页面,如果内存已满,则找出内存中的页面哪个页面下一次出现的最晚,或者是哪个页面不在出现,将它置换出来即可 #include<iostream> #include<algorit 展开全文
头像 xunxxmo
发表于 2023-02-26 11:35:56
大概题意: N的内存,M的页面,N刚开始为空,M页面表示页面编号从1->M,Q次询问 问需要添加或置换的次数最小是多少。 贪心 思路: 需要一个数据结构存储页面,简写为q有新的元素准备进入的时候,分为三种情况,第一种q情况没满。第二种情况,q满了,看已经在队列里面的数,谁的相同的下一个数离的最 展开全文
头像 sunrise__sunrise
发表于 2020-06-07 23:40:43
堆/优先队列 这个题目写起来不难,题目读起来是真的困难,出题人根本没把题目意思交代清楚……观摩大佬AC代码之后,看的有点懵,反正给出的数,需要求一下下一次出现的位置,可以用2个数组,也可以用umap去离散记录。我就不展开了。其余的就是贪心的思路了,按下一次出现优先降序排序,最大的那个最先出队,如果出 展开全文
头像 sunny_forever
发表于 2021-08-04 17:53:30
思路 下一次出现最晚的 被 弹出队列 ==> 最佳页面置换算法 (OPT)而不是 剩余出现次数最少的 被 弹出队列 Code #include <bits/stdc++.h> using namespace std; const int N = 50010; struct 展开全文
头像 振保
发表于 2022-02-11 20:01:02
题目链接 https://ac.nowcoder.com/acm/problem/15688 题意 容量为n的内存,有1-m编号的页面,有q个请求,每个请求包含一个页面,内存里面没有这个页面的话,就会记录一次缺页,并放入内存,内存满了就会置换其中一个页面,求缺页次数最少。 思路 如需置换,置换晚出现 展开全文
头像 超爱的J
发表于 2022-01-24 12:24:20
">#include<algorithm> #include<queue> #include<cstdio> #include<cstring> #include<set> using namespace std; const int N 展开全文
头像 ruoye123456
发表于 2024-03-27 23:21:10
贪心+优先队列 当页数未填满时直接填充,填满之后需要将集合里的数据下一次出现的位置最晚的置换掉 首先关于处理元素下一次出现位置的方法采取倒向扫pos放进ne数组,pos初始化为极大值,当pos[i]==inf时表明接下来不存在该元素 在未填满时更新相同元素的下次出现位置可以不更新而选择直接向优先队列 展开全文