P11931 [CrCPC 2024] AI 的末日

P11931\(\mathbf{} \begin{Bmatrix} \frac{{\Large LUOGU-P11931} }{{\color{Red}\Large Solution} }\mathbf{} {No.11} \end{Bmatrix}\times{}\) NeeDna

这是一道贪心题。

思路:发现无论怎么放,尽量晚的移动是不劣的,那么什么时候一定要移动呢?很简单,当所有元素都出现一次之后就一定要移动了。所以我们可以用 set 来维护这个东西。

ac code:

#include<bits/stdc++.h>
using namespace std;
set<int> a;
int n,k,ans;
int main(){
	 ios::sync_with_stdio(false);
	 cin.tie(nullptr);
    cin>>n>>k;
    for(int i=1,x;i<=n;i++){
    	cin>>x;a.insert(x);
    	if(a.size()==k) a.clear(),ans++,a.insert(x);//注意因为此点不能放,所以要再加回来
	}
	cout<<ans;
    return 0;
}

posted @ 2025-05-30 20:52  NeeDna  阅读(26)  评论(0)    收藏  举报