zoukankan      html  css  js  c++  java
  • CSUST 2009-Longest Subarray(队列的应用)

    题目链接:http://acm.csust.edu.cn/problem/2009
    CSDN食用链接:https://blog.csdn.net/qq_43906000/article/details/107664641
    Description

    You are given two integers (C),(K) and an array of (N) integers (a_1,a_2,cdots,a_N)It is guaranteed that the value of (a_i) is between (1) to (C)

    We define that a continuous subsequence (a_{l},a_{l+1},...,a_r(l leq r)) of array a is a good subarray if and only if the following condition is met:
    (forall xin [1,C],sum_{i=l}^{r}[a_i=x]leq K)

    It implies that if a number appears in the subarray, it will appear no greater than (K) times.

    You should find the longest good subarray and output its length. Or you should print (0) if you cannot find any.

    Input
    Each case starts with a line containing three positive integers (N,K,C (1 leq N,K,C leq 300000))

    The second line contains (N) integer (a_1,a_2,cdots a_N(1leq a_ileq C))

    Output
    For each test case, output one line containing an integer denoting the length of the longest good subarray.

    Sample Input 1
    5 1 3
    1 2 3 1 2

    Sample Output 1
    3

    emmm,CSUSTOJ为数不多的几道英文题面QWQ,实际上挺简单的。

    题目大意:让你找到一个最长的的连续子序列,使得这个子序列中每个元素出现的次数小于等于(K)

    既然是找连续的,那么这个就很简单了,一旦碰到出现次数大于(K)的,我们将前面的元素一直往外抛就完事了,这不就是个队列的问题了嘛。

    以下是AC代码:

    #include <bits/stdc++.h>
    using namespace std;
    
    const int mac=3e5+10;
    
    int vis[mac],a[mac];
    
    int main(int argc, char const *argv[])
    {
    	int n,k,c;
    	scanf ("%d%d%d",&n,&k,&c);
    	for (int i=1; i<=n; i++)
    		scanf ("%d",&a[i]);
    	int ans=0,j=1;
    	for (int i=1; i<=n; i++){
    		vis[a[i]]++;
    		while (vis[a[i]]>k){
    			vis[a[j]]--; j++;
    		}
    		ans=max(ans,i-j+1);
    	}
    	printf("%d
    ",ans);
    	return 0;
    }
    
    路漫漫兮
  • 相关阅读:
    jQuery-选择器
    Html-CSS-细节处理
    JS-练习题
    将博客搬至CSDN
    Linux学习(推荐学习资源)——保持更新
    借助Git实现本地与GitHub远程双向传输(同步GitHub仓库)以及一些使用错误解决
    Linux学习使用Vim
    linux学习之Ubuntu
    在docker中创建使用MySQL,并实现远程连接navicat
    Swing系列之控件一
  • 原文地址:https://www.cnblogs.com/lonely-wind-/p/13397273.html
Copyright © 2011-2022 走看看