大概题意: N的内存,M的页面,N刚开始为空,M页面表示页面编号从1->M,Q次询问 问需要添加或置换的次数最小是多少。 贪心 思路: 需要一个数据结构存储页面,简写为q有新的元素准备进入的时候,分为三种情况,第一种q情况没满。第二种情况,q满了,看已经在队列里面的数,谁的相同的下一个数离的最远就替换掉谁。第三种情况,q满了,但是新的元素的同值存在。 离得远,i对应的大,根据离得远近,来排列队列里的数,会想到优先队列,大根堆,不是按照数值排序,需要pair<int,int>。 为了判断是第二种还是第三种情况,需要一个bool数组判断是否元素已经存在在堆里。 重点部分:(贪心的...