首页 > 其他分享 >Codeforces Round #596 B2. TV Subscriptions

Codeforces Round #596 B2. TV Subscriptions

时间:2023-02-03 10:04:46浏览次数:28  
标签:cnt const Subscriptions TV 596 typedef long int include

Codeforces Round #596 B2. TV Subscriptions_其他

Codeforces Round #596 B2. TV Subscriptions_其他_02

题意就是让你在N个数中找到D个连续的数,使这D个数中不同的数最小。

hard数据较大,优化到nlogn才能过。

具体怎么优化看代码吧

AC代码:

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<vector>
#include<stdlib.h>
#include<queue>
#include<stack>
#include<iomanip>
#include<math.h>
using namespace std;
typedef long long ll;
typedef double ld;
const int INF = 1e9;
const int N = 2e5+100;
const int M = 1e6+100;
int i,j;
int a[N],cnt[M];
int n,k,d;
int main()
{
    int t;
    scanf("%d",&t);
    while(t--)
    {
        memset(cnt, 0, sizeof cnt );
        scanf("%d %d %d",&n,&k,&d);
        for(i=1; i<=n; ++i)
            scanf("%d",&a[i]);
        int mmin,ans=0;
        for(i=1; i<=d; ++i)
        {
            if(cnt[a[i]]==0)
                ++ans;
            cnt[a[i]]++;
        }
        mmin=ans;
        for(i=d+1; i<=n; i++)
        {
            if((--cnt[a[i-d]])==0)
                --ans;
            if((cnt[a[i]]++)==0)
                ++ans;
            if(ans<mmin)
                mmin=ans;
        }
        printf("%d\n",mmin);
    }
    return 0;
}

 

标签:cnt,const,Subscriptions,TV,596,typedef,long,int,include
From: https://blog.51cto.com/u_15952369/6034931

相关文章

  • Codeforces Round #596 C. p-binary
    给定N和p,让你找到满足2^x+p最少有多少不同的项。就把N转成二进制然后枚举P的个数就是答案,昨天特判没写好,今天早上起来发现被卡掉了。rank又出1000了。AC代码:#include<......
  • ListView - 仿照IOS拉到上下底部仍可继续拉并自动回弹
    PART_ONLY自定义类继承​​ListView​​,覆写​​overScrollBy()​​publicclassCListViewextendsListView{privatestaticfinalintMAX_OVERSCROLLY_DISTANCE......
  • TVS相关参数与选型
        TVS(TransientVoltageSuppressor)二极管,又称为瞬态抑制二极管,是普遍使用的一种新型高效电路保护器件,它具有极快的响应时间(亚纳秒级)和相当高的浪涌吸收能力。......
  • 6.6SMDJxx(C)A系列TVS二极管,有哪些型号?
    提及6600W高功率TVS二极管,电子工程师们更多想到的可能是DO-218AB封装SM8S系列汽车级瞬态抑制TVS二极管,关于SM8S系列TVS管这方面的知识,之前科普过好多次了。接下来,TVS保护管......
  • 【KAWAKO】TVM-使用c++进行推理
    目录前言修改cpp_deploy.cc文件修改DeployGraphExecutor()函数numpy与bin文件的互相转换numpy转binbin转numpy使用CMakeLists.txt进行编译运行前言在tvm工程的apps目录下......
  • 【KAWAKO】TVM-在ubuntu服务器上的安装
    目录下载源码安装依赖库修改config.cmake文件编译安装python库添加tophub简单验证官方的安装教程在这里下载源码从DownloadPage中下载下来的源码是0.8版本的,亲测该版......
  • TVBox系列软件的简要配置方法
    TVBox系列软件的简要配置方法0.只需两步,开始您的观影时光!1.下载并安装应用到您的系统上下载影视仓或TVbox到U盘,将其安装到基于Android的电视系统上。其它......
  • Android TextView 丰富多彩的字体样式代码
    importjava.io.IOException;importorg.xmlpull.v1.XmlPullParserException;importandroid.app.Activity;importandroid.content.res.ColorStateList;importandroid.con......
  • DestoryJavaVM停止HotSpotVM的步骤
    1、一直等待,直到只有一个非守护的线程执行,注意此时HotSpotVM仍然可用;2、调用java.lang.Shutdown.shutdown()方法,它会调用Java上的shutdown钩子方法,如果finalization-on-exi......
  • flutter Listview physics常见子类
    ListView的physics是ScrollPhysics类:其常见子类有BouncingScrollPhysics :允许滚动超出边界,但之后内容会反弹回来。ClampingScrollPhysics :防止滚动超出边界,夹住 。......