题目描述
题目描述
在学习Operating System
的过程中,小理遇到了这样一个问题,现在有一个大小为可以容纳 $N$ 个页面的内存,硬盘内的内容被分成 $M$ 个页面,用 $1$ ~ $M$ 来标识,一开始内存里没有任何页面,接下来用户会请求 $Q$ 个页面,你需要设计一个置换算法,使得缺页发生的次数最少。
缺页是指用户请求某个编号的页面,但这个页面没有在内存中的情况。发生缺页之后,你必须要把硬盘内对应的页面调入内存中,如果内存已满,你需要置换掉当前内存中的某个页面。
输入格式
输入共两行。
第一行为三个整数 $N$,$M$,$Q$。
接下来一行 $Q$ 个数,表示用户请求的页面编号。
输出格式
输出一个数,表示最少的缺页次数。
样例输入输出
样例输入
2 3 5
3 1 2 1 2
样例输出
3
数据范围
对于 $100%$ 的数据,保证 $0 < N,M,Q \le 50000$。
来源/分类
贪心 队列