zoukankan      html  css  js  c++  java
  • B2

    题目连接:https://codeforces.com/contest/1247/problem/B2

    题解:双指针,,一个头,一个尾,头部进入,尾部退出,一开始先记录1到k,并记录每个数字出现的次数,然后在头进尾出,依次判断。

    #include<bits/stdc++.h>
    using namespace std;
    const int N=2E5+7;
    map<int ,int >mp;
    int arr[N];
    void solve(){
        mp.clear();
        int n,m,k;
        cin>>n>>m>>k;
        for(int i=1;i<=n;i++) scanf("%d",&arr[i]);
        int ans=0;
        for(int i=1;i<=k;i++){
            if(mp[arr[i]]==0) ans++;
            mp[arr[i]]++;
        }
        int sum=ans;
        for(int j=k+1,i=1;j<=n;j++,i++){
            if(mp[arr[i]]==1) ans--;
            mp[arr[i]]--;
            
            if(mp[arr[j]]==0) ans++;
            mp[arr[j]]++;
            sum=min(ans,sum);    
        }
        cout<<sum<<endl;
    }
    int main(){
        int t;
        cin>>t;
        while(t--) solve();
        return 0;
    }
  • 相关阅读:
    UVA
    UVA
    UVA
    UVA
    UVA
    UVA
    UVA
    UVA
    UVA
    使用Jmeter(三十)针对ActiveMQ JMS POINT TO POINT压力测试(转载)
  • 原文地址:https://www.cnblogs.com/Accepting/p/11759305.html
Copyright © 2011-2022 走看看