CodeForces - 616D Longest k-Good Segment

题意:

有包含n个数的序列a,求能找到最长的区间包含不超过k个不同的元素。

题解:

尺取法,先固定L,然后移动R,R每次移动,当超过k后,L再移动

代码:

#include<bits/stdc++.h>
#define debug(a,b) printf("%s = %d\n",a,b);
typedef long long ll;
using namespace std;inline int read(){int s=0,w=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();//s=(s<<3)+(s<<1)+(ch^48);return s*w;
}
const int maxn=5e5+9;
int a[maxn];
int q[maxn];
int iff[10000009];
int L,R;
int main()
{int n,k;n=read();k=read();for(int i=1;i<=n;i++)scanf("%d",&a[i]);int l=1,r=1;L=1,R=1;int maxx=0;int tot=1;iff[a[1]]=1;while(l<=r&&r<=n){while(tot<=k&&r<n){r++;if(iff[a[r]]==0){tot++;iff[a[r]]++;if(tot>k)break;if((r-l)>(R-L)){L=l;R=r;}}else {iff[a[r]]++;if(tot>k)break;if((r-l)>(R-L)){L=l;R=r;}}}iff[a[l]]--;if(iff[a[l]]==0)tot--;l++;}cout<<L<<" "<<R<<endl;
}

CodeForces - 616D Longest k-Good Segment相关推荐

  1. Longest k-Good Segment CodeForces - 616D(尺取法)

    The array a with n integers is given. Let's call the sequence of one or more consecutive elements in ...

  2. 【CodeForces - 616D 】Longest k-Good Segment (twopointer,尺取)

    题干: The array a with n integers is given. Let's call the sequence of one or more consecutive element ...

  3. 【codeforces 242E】XOR on Segment

    [原题题面]传送门 [题面翻译]传送门 [解题思路] 操作涉及到区间求和和区间异或,考虑到异或操作,我们对每个数二进制分解. 把每一位单独提出来做,异或要么取反要么变为不变,对于每一位建一颗线段树,那 ...

  4. CodeForces - 1328F Make k Equal(模拟)

    题目链接:点击查看 题目大意:给出一个数列 a ,现在有两种操作: 找到一个最小值,使其值加一 找到一个最大值,使其值减一 注意这里找到一个最值进行的操作,是针对最值不唯一的情况,题目问至少需要进行多 ...

  5. Codeforces Gym 101173 K. Key Knocking (构造)

    题意 对于给定的长为 3×N3\times N 的 01 字符串 S,求在最多变换 N 次下使得字符串 S 的 weight >= 2n . 字符串的 weight 为 相邻不同字符的个数 + ...

  6. 寒假练习题解 第二周 1.25-1.31

    每日一练 1.25 Problem A Luxurious Houses 题意:给 n 个数 a[i],问使得 a[i] 为 [i,n] 最大值的时候需要给 a[i] 增加多少 简析:可以倒着扫一遍, ...

  7. QDU-Training-01

    QDU-Training-01 题号 题目 知识点 难度 CodeForces 76E Points 数论 HDU 4608 I-number 模拟 CodeForces 616D Longest k ...

  8. 2022-04-14每日刷题打卡

    2022-04-14每日刷题打卡 代码源--每日一题 上帝的集合 - 题目 - Daimayuan Online Judge 题目描述 现在上帝有一个空集合,现在他命令你为他执行下列三种操作 n 次, ...

  9. 嘿嘿,我就知道面试官接下来要问我 ConcurrentHashMap 底层原理了,看我怎么秀他...

    来自:烟雨星空 前言 上篇文章介绍了 HashMap 源码后,在博客平台广受好评,让本来己经不打算更新这个系列的我,仿佛被打了一顿鸡血.真的,被读者认可的感觉,就是这么奇妙. 原文:面试官再问你 Ha ...

最新文章

  1. 通过hibernate 查询出来的数据默认为持久状态,也就是说:你在后头作出的任何操作都会被hibernate自动同步更新到数据库
  2. 用友 U9 怎么样???
  3. 另一个小程序 返回的支付结果如何得到_手把手教你测微信小程序
  4. think in java interview-高级开发人员面试宝典(二)
  5. Nginx详解五:Nginx基础篇之HTTP请求
  6. Linux命令:ps,netstat,top
  7. idea取消comiit_IDEA 合并多次commit为一个?
  8. .net mysql 更新_升级 MySql.Data for NET 后遇到的神坑
  9. 软件产品质量要求与评价_软件质量模型
  10. xstatic图形连接linux,RHCE认证考试模拟题深入讲解:linux配置静态IP地址为:192.168.0.X!...
  11. 【管理心得之二十一】管得少就是管得好
  12. 使用Scikit-Learn,XGBoost,LightGBM和CatBoost进行梯度增强
  13. 智能交通中的若干科学和技术问题
  14. 脚本重启电信天翼网关
  15. pandas数据处理:常用却不甚了解的函数,pd.read_excel()
  16. markdown中划线
  17. GSM模块_GPRS网络中使用TCP协议比使用UDP有何优势
  18. 中国热泵热水器行业发展趋势及投资风险研究报告
  19. pytorch划分训练集、验证集与测试集(train_idx、val_idx、test_idx)
  20. 查看oracle 导出进程,【学习笔记】Oracle 通过v$session查看imp进程信息的案例

热门文章

  1. 程序员崩溃的40个瞬间!!!
  2. 比起掉头发,我更怕掉队
  3. 想转行人工智能?哈佛博士后有话说!
  4. 马化腾最崇拜的作家吴晓波《历代经济变革得失》读书笔记
  5. 数据挖掘在呼叫中心的六大应用点
  6. emacs python_Emacs之Python编程环境配置 - elpy
  7. mysql主主同步冲突_MySQL主主同步主键冲突处理
  8. Java千万数据导入mysql_java之5分钟插入千万条数据
  9. Linux中append函数的用法,linux C代码 open函数参数:O_APPEND问题求助
  10. mac 上mysql怎么卸载不了_mac的mysql怎么卸载?