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;
    }
    
    路漫漫兮
  • 相关阅读:
    模块之间的消息传递优势与问题
    cp命令
    gimp的python控制台生成UI代码
    three.js(六) 地形法向量生成
    mysql 主从复制配置
    Three.js(九)perlin 2d噪音的生成
    three.js(五) 地形纹理混合
    mongodb 复制
    pycparse python的c语法分析器
    ajax出现 所需的数据还不可用
  • 原文地址:https://www.cnblogs.com/lonely-wind-/p/13397273.html
Copyright © 2011-2022 走看看